此文较长,是对本人学习 selenium 的一个整合,省的七零八落的,首先会介绍一下web自动化测试,接着会从介绍Selenium 如何使用,到unittest框架。
第一部分 自动化测试(UI自动化篇)
什么时候做自动化测试
1.时间够 2. 界面稳定 3. 适用于 冒烟测试(主业务流程)、回归测试、完成手动测试无法完成的工作下班后无人值守测试
框架
python3 + selenium webdriver3 + pytest/ Unittest(用来验证)+ log日志系统 + 错误截图收集 + HTML report + jenkins
自动化测试策略
- 让自动化测试工作有产出
- 自动化会用到分布式,目的释放人力,比如枯燥的回归测试工作(冒烟测试)
- ⭐最佳实践时用最短的时间做出最有价值意义的业务脚本
- 可以把重复的工作替代掉,让手工测试人员有更多的时间去做深层次的基于业务的探索式测试
- 做自动化测试的时:① 先写测试用例,设计AT Case(自动化测试用例)② 在设计的是,将具体的测试数据列出来
自动化测试用例
- 自动化测试不仅仅是写代码,更重要的是测试思路的引入,同样,我们在开始写代码前,需要先设计AT Case(即:自动化测试用例)
- AT Case的设计基本上和普通的测试用例一致,但有两个不同点
- 如果不需要检查,则无需写预期结果
- 在设计时,将具体的测试数据列出来
第二部分 工具:Selenium
Selenium 是什么?
Selenium 就是代替手工模拟界面操作。
工作的大致原理:代码其实并不知道浏览器是怎么工作的,但是driver知道,在selenium启动以后,driver其实充当了服务器的角色,当代码和浏览器通信,代码根据webdriver协议发送请求给driver,driver解析请求,并在浏览器上执行相应的操作,并把执行结果返回给代码
环境搭建
①Python
② selenium:检查电脑有没有:打开cmd,pip list
, 如果没有安装,pip install selenium
③ drivers 浏览器驱动,根据不同浏览器下载
chrome driver 安装版本要跟chrome一样(在浏览器的设置里面找),放在Python安装目录下即可
IE Driver
Gecko Driver 火狐浏览器
⭐重点:测试脚本怎么写
-
⭐定位:在写脚本之前,要先把所有要用到的元素定位找到
如何定位 → F12,找到该元素右键copy成xpath,然后优化一下,得该元素的Xpath
‘ctrl F’ 可以验证写的xpath是否唯一指定
定位的方法有很多: 以百度页面的【搜索输入框】为例, input 标签, id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"
可以用 id="kw" , name="wd" 等方式去定位这个元素,分别对应的就是
search_inputbox=driver.find_element_by_id('kw')
search_inputbox=d