python webdriver 测试框架-数据驱动txt文件驱动,带报告的例子
数据驱动txt文件驱动的方式,带报告
data.txt:
gloryroad test||光荣之路
摔跤爸爸||阿米尔
超人||电影
data_driven_by_txt_file.py:
#encoding=utf-8
from selenium import webdriver
import time
with open(u"e:\\数据驱动\\data.txt") as fp:
data=fp.readlines()
driver=webdriver.Ie(executable_path="e:\\IEDriverServer")
test_result=[]
for i in range(len(data)):
try:
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys(\
data[i].split("||")[0].strip().decode("gbk"))
driver.find_element_by_id("su").click()
time.sleep(3)
assert data[i].split('||')[1].strip().decode('gbk')\
in driver.page_source
test_result.append(data[i].strip()+u"||成功\n".encode("gbk"))
print data[i].split('||')[0].strip().decode('gbk')+u"搜索测试执行成功"
except AssertionError,e:
print data[i].split('||')[1].strip().decode('gbk')+u"测试断言失败"
test_result.append(data[i].strip()+u"||断言失败\n".encode("gbk"))
except Exception,e:
print data[i].split('||')[1].strip().decode('gbk')+u"测试执行失败"
test_result.append(data[i].strip()+u"||异常失败\n".encode("gbk"))
with open(u"e:\\数据驱动\\result.txt","w") as fp:
fp.writelines(test_result)
driver.quit()
结果:
D:\test>python test.py
gloryroad test搜索测试执行成功
摔跤爸爸搜索测试执行成功
超人搜索测试执行成功
Result.txt:
gloryroad test||光荣之路||成功
摔跤爸爸||阿米尔||成功
超人||电影||成功
修改data.txt使断言失败的结果:
data.txt:
gloryroad test||光荣之路1
摔跤爸爸||阿米尔1
超人||电影1
D:\test>python test.py
光荣之路1测试断言失败
阿米尔1测试断言失败
电影1测试断言失败
Result.txt:
gloryroad test||光荣之路1||异常失败
摔跤爸爸||阿米尔1||异常失败
超人||电影1||异常失败
python webdriver 测试框架-数据驱动txt文件驱动,带报告的例子的更多相关文章
- python webdriver 测试框架-数据驱动json文件驱动的方式
数据驱动json文件的方式 test_data_list.json: [ "邓肯||蒂姆", "乔丹||迈克尔", "库里||斯蒂芬", & ...
- python webdriver 测试框架-数据驱动excel驱动的方式
简介: 数据驱动excel驱动方式,就是数据配置在excel里面,主程序调用的时候每次用从excel里取出的数据作为参数,进行操作, 需要掌握的地方是对excel的操作,要灵活的找到目标数据 测试数据 ...
- python webdriver 测试框架-数据驱动xml驱动方式
数据驱动xml驱动的方式 存数据的xml文件:TestData.xml: <?xml version="1.0" encoding="utf-8"?> ...
- python webdriver 测试框架-数据驱动exce驱动,不用ddt的方式
data.xlsx: 脚本: #encoding=utf-8from selenium import webdriverimport timeimport datetimefrom openpyxl ...
- 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测试框架全面介绍九---各种html报告插件对比
一直在使用Nose-html-reporting,并输出html报告,但今天在使用时发出有点问题:于时,将python目前可能的html报告插件下载后进行对比,如下 一.Nose-html-repor ...
- python nose测试框架全面介绍七--日志相关
引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的 ...
- python nose测试框架全面介绍十---用例的跳过
又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的S ...
随机推荐
- 使用vue-cli结合express获取mongodb里面的数据
最近一直在看node有关的内容,空闲时间做了一个小小的爬虫,用于爬取电影天堂的数据然后写到mongodb里面,代码地址:https://github.com/fangming666/dianyingt ...
- System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse()
System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse() 在请求 ...
- PHP的函数-----生成随机数、日期时间函数
常用的函数 [1] 生成随机数 rand(); 例子: echo rand(); 显示结果: 当刷新时,会有不同的数,默认生成随机数.生成随机数不能控制范围. 如果,想要控制在范围之内,就用: e ...
- 使用vim-pathogen 进行插件管理
使用vim的插件管理器 pathogen进行vim的插件管理. 1. pathogen 管理插件 pathogen让每个插件占有一个单独的目录,解决了文件分散的问题.安装完 pathogen之后,只需 ...
- c++ 重载、重写、重定义(隐藏)
1.重载overload:函数名相同,参数列表不同. 重载只是在类的内部存在,或者同为全局范围.(同名,同参函数返回值不同时,会编译出错.因为系统无法知晓你到底要调用哪一个.) 2.重写overr ...
- 谈谈后台服务的RPC和路由管理
版权声明:本文由廖念波原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/147 来源:腾云阁 https://www.qclo ...
- SPOJ - DQUERY
题目链接:传送门 题目大意:一个容量 n 的数组, m次询问,每次询问 [x,y]内不同数的个数 题目思路:主席树(注意不是权值线段树而是位置线段树) 也就是按一般线段树的逻辑来写只是用主席树实现而已 ...
- SNMP信息泄露漏洞
SNMP协议简介 名称:SNMP(Simple Network Management Protocol)简单网络管理协议 端口:161 协议:UDP 用途:SNMP代理者以变量呈现管理资料.管理系统透 ...
- IOS中使用轻量级数据库
IOS中使用轻量级数据库 目录 概述 IOS中的轻量级数据库 sqlite的方法 数据库的实用操作 第三方类库 FMDatabase 概述 IOS中的轻量级数据库 sqlite的方法 sqlite3 ...
- thinkCMF的使用!
第一次使用 thinkCMF:在此记录下使用的过程! 后台登录: http://thinkcmf.fyz.com/public/admin 前台:控制器 前台控制器的模板: