没有合适的资源?快使用搜索试试~ 我知道了~
pythonwebdriver自动化测试实战.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 155 浏览量
2021-10-02
07:33:54
上传
评论
收藏 516KB DOC 举报
温馨提示
试读
22页
pythonwebdriver自动化测试实战.doc
资源推荐
资源详情
资源评论
- -
python webdriver 工程实战
第 5 章 测试模型与测试脚本优化
第一节、测试模型介绍
线性测试
通过录制或编写脚本,一个脚本完成用户一套完整的操作,通过对脚本的回放来进展自动化测试。
这是早期进展自动化测试的一种形式;我们在上一章中练习使用 webdriver API 所编写的脚本也是这种
形式。
脚本一
from selenium importwebdriver
importtime
driver = webdriver.Firefox()
driver.get("w.xxx.")
driver.nd_element_by_id("tbUserName").send_keys("username")
driver.nd_element_by_id("tbPassword").send_keys("123456")
driver.nd_element_by_id("btnLogin").click()
#执行具体用例操作
......
- word.zl-
- -
driver.quit ()
脚本二
from selenium importwebdriver
importtime
driver = webdriver.Firefox()
driver.get("w.xxx.")
driver.nd_element_by_id("tbUserName").send_keys("username")
driver.nd_element_by_id("tbPassword").send_keys("123456")
driver.nd_element_by_id("btnLogin").click()
#执行具体用例操作
......
driver.quit ()
通过上面的两个脚本,我们很明显的发现它的问题:
一个用例对应一个脚本,假设界面发生变化,用户名的属性发生改变,不得不需要对每一个脚本进
展修改,测试用例形成一种规模,我们可能将大量的工作用于脚本的维护,从而失去自动化的意义。
这种模式下数据和脚本是混在一起的,如果数据发生变也也需要对脚本进展修改。
这种模式下脚本的可重复使用率很低。
模块化与库
我们会清晰的发现在上面的脚本中,其实有不少内容是重复的;于是就有了下面的改良。
login.py
#登录模块
- word.zl-
- -
deflogin():
driver.nd_element_by_id("tbUserName").send_keys("username")
driver.nd_element_by_id("tbPassword").send_keys("456123")
driver.nd_element_by_id("btnLogin").click()
quit.py
#退出模块
def quit_():
..............
测试用例:
#coding=utf-8
from selenium importwebdriver
importlogin,quit_ #调用登录、退出模块
driver = webdriver.Firefox()
driver.get("w.xxx.")
#调用登录模块
login.login()
#其它个性化操作
......
#调用退出模块
quit.quit()
注意,上面代码并非完整代码,不能运行。
通过上面的代码发现,我们可以把脚本中一样的局部独立出来,形成模块或库;当脚本需要进展调
用。这样做有两个好处:
一方面提高了开发效率,不用重复的编写一样的脚本;另一方面提高了代码的复用。
- word.zl-
- -
数据驱动
数据驱动应该是自动化的一个进步;从它的本意来讲,数据的改变〔更新〕驱动自动化的执行,从而
引起结果改变。这显然是一个非常高级的概念和想法。
其实,我们能做到的是下面的形式。
d:\abc\data.txt
图 4.x
#coding=utf-8
from selenium importwebdriver
importos,time
source = open("D:\\abc\\data.txt", "r")
values = source.readlines()
source.close()
#执行循环
for serch invalues:
driver= webdriver.Firefox()
driver.get(".xxxx.")
- word.zl-
- -
driver.nd_element_by_id("kw").send_keys(serch)
.....
不管我们读取的是 txt 文件,还是 csv、excel 文件的之类,又或者是数组、字典函数。我们实现了数
据与脚本的别离,换句话说,我们实现了参数化。我们仍一千条数据,通过脚本的执行,可以返回一千
条结果出来。
同样的脚本执行不同的数据从而得到了不同的构造。是不是增强的脚本的复用性呢!
其实,这对开发来说是完全没有什么技术含量的;对于当初 QTP 自动化工具来说确是一个买点,因
为它面对的大多是不懂开发的测试。
关键字驱动
理解了数据驱动,无非是把“数据〞换成“关键字〞,关键字的改变引起测试结果的改变。
关键字驱动用编程方式就不太容易表现了。QTP 、 robot framework 等自动化工具都提供了关键
字驱动〔填表格〕。
好吧!我能说 selenium IDE 也是关键字驱动么?
- word.zl-
剩余21页未读,继续阅读
资源评论
wdqsv88
- 粉丝: 3
- 资源: 13万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 信息办公个人求职管理系统-jobgljsp.rar
- 信息办公一流网络JSP网络管理系统 v1.0-yljsp10.rar
- chirpstack学习
- 管家婆辉煌、财贸、工贸、服装,食品,千方模拟狗
- 基于python开发的工业环境老鼠检测+源码+文档(毕业设计&课程设计&项目开发)
- USB转以太网的芯片SR9900全套设计资料包括(参考设计原理图PCB+ Linux -Windows驱动程序+量产工具)
- 信息办公XML考试系统-xmlks.rar
- 基于python开发的无人机图像目标检测+实验数据+开发文档+操作流程+源码(毕业设计&课程设计&项目开发)
- 全球智能商品管理与优化系统
- IDM下载器(电脑小工具)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功