python webdriver 测试框架-数据驱动exce驱动,不用ddt的方式
data.xlsx:

脚本:
#encoding=utf-8
from selenium import webdriver
import time
import datetime
from openpyxl import *
wb=load_workbook(r'd:\\test\\data.xlsx')
ws=wb.active#获取第一个sheet
print u"最大行号:",ws.max_row
#excel行是从1开始的,所以我们从2开始迭代遍历
#且使用切片,必须有结束行的索引号,不能写[1:],这样不行
#列号是从0开始的,列取出来是个元祖
driver=webdriver.Firefox(executable_path='c:\\geckodriver')
test_result=[]
#print 'ws:', ws[2:ws.max_row]
#for row in ws[2:ws.max_row]:
# print row
for row in ws[2:ws.max_row]:
print row[1],row[2]
try:
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys(row[1].value)
driver.find_element_by_id('su').click()
time.sleep(3)
assert row[2].value in driver.page_source
row[3].value=time.strftime('%Y-%m-%d %H:%M:%S')
row[4].value=u'成功'
except AssertionError,e:
row[3].value=time.strftime('%Y-%m-%d %H:%M:%S')
row[4].value=u"断言失败"
except Exception,e:
row[3].value=time.strftime('%Y-%m-%d %H:M:%S')
row[4].value=u"出现异常失败"
driver.quit()
wb.save(u"d:\\test\\0627\\data0629.xlsx")#注意:将直接覆盖,不是更新。
结果:
d:\test\0627>python test.py
最大行号: 4
<Cell u'Sheet1'.B2> <Cell u'Sheet1'.C2>
<Cell u'Sheet1'.B3> <Cell u'Sheet1'.C3>
<Cell u'Sheet1'.B4> <Cell u'Sheet1'.C4>
Data0629.xlsx:

python webdriver 测试框架-数据驱动exce驱动,不用ddt的方式的更多相关文章
- python webdriver 测试框架-数据驱动excel驱动的方式
简介: 数据驱动excel驱动方式,就是数据配置在excel里面,主程序调用的时候每次用从excel里取出的数据作为参数,进行操作, 需要掌握的地方是对excel的操作,要灵活的找到目标数据 测试数据 ...
- python webdriver 测试框架-数据驱动xml驱动方式
数据驱动xml驱动的方式 存数据的xml文件:TestData.xml: <?xml version="1.0" encoding="utf-8"?> ...
- python webdriver 测试框架-数据驱动txt文件驱动,带报告的例子
数据驱动txt文件驱动的方式,带报告 data.txt: gloryroad test||光荣之路 摔跤爸爸||阿米尔 超人||电影 data_driven_by_txt_file.py: #enco ...
- python webdriver 测试框架-数据驱动json文件驱动的方式
数据驱动json文件的方式 test_data_list.json: [ "邓肯||蒂姆", "乔丹||迈克尔", "库里||斯蒂芬", & ...
- python webdriver 测试框架-数据驱动DDT的例子
先在cmd环境 运行 pip install ddt 安装数据驱动ddt模块 脚本: #encoding=utf-8 from selenium import webdriver import un ...
- python webdriver 测试框架-行为驱动例子
安装行为驱动模块lettuce(卷心菜)模块 pip install lettuce Successfully installed argparse-1.4.0 colorama-0.3.9 extr ...
- python nose测试框架全面介绍十---用例的跳过
又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的S ...
- python nose测试框架全面介绍七--日志相关
引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的 ...
- python nose测试框架全面介绍六--框架函数别名
之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.pa ...
随机推荐
- Unity和虚幻的比较
很多人从Unity开始转向虚幻4了,我目前则相反,从研究使用虚幻4,回到了Unity 5上. 前端总结的Unity和Unreal 4的一些优缺点,自己做的对比图.就先放这里了. 其实,作为引擎,各有优 ...
- chmod 777 修改权限
http://william71.blogbus.com/logs/33484772.html 在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读.写.运行设定权限.例如我 ...
- Android 使用Spinner实现下拉列表
课程目标1.了解Spinner下拉列表的使用和功能2.学会使用系统默认的Spinner3.学会使用自定义样式的Spinner 执行步骤第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜 ...
- Mybatis中insert
<insert id="insert" parameterType="Currency"> INSERT INTO YZ_SECURITIES_CU ...
- Jquery checkbox选中问题
checkbox中有.checked的写法,判断当前是否是选中状态,不过这种是针对[object HTMLInputElement]这种类型的,而对于[object Object]这种类型是不能使用的 ...
- Android Runtime.getRuntime().exec
try { // Executes the command. Process process = Runtime.getRuntime().exec(cmd); // NOTE: You can wr ...
- centos7上开启单用户模式
author: headsen chen date : 2018-08-02 11:23:16 1,在出现centos7的页面的时候,按 e进入到编译内核的界面 2,找到下面的这一段,将ro 该车 ...
- SHTML 教程
什么是 SHTML 使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为“服务器端嵌入”或者叫“服务器端包含”,是一种类 ...
- Google浏览器提示用户要允许网站允许flash!
开发的flash播放器,在谷歌浏览器上播放不了,需要提示用户手动开启允许网站运行flash: <script type="text/javascript"> if (w ...
- vue-cli 项目打包异常汇总
1.打包路径错误 npm run build 之后,会发现项目目录下多了 通过 localhost 运行 index.html 会发现空白,仔细一看,是因为引用的资源位置问题 明显这个地方应该是 ./ ...