UI自动化测试
1、实质:使用代码模仿手工操作
2、目的:减轻手工测试的工作量
3、通常使用UI自动化做正向的、稳定的、回归测试用例
UI自动化测试有哪些需要注意的:
- UI文本、图片的测试
- UI交互逻辑的测试
- UI上用户行为的测试
对比手工测试,UI自动化测试的难点:
- 从自动化测试的角度来说,一个非预期产生的缺陷很难被自动化发现,但是手工测试可以轻松发现
- UI本身的变化性,想要达到和手工测试相同的覆盖率,单纯的UI测试很难证明自身的投资回报率
- UI控件元素的复杂性
- UI自动化出现问题时,往往要花费很大的精力恢复到下一条case的场景
- UI自动化的case,大部分是关于用户交互的,这方面也有其复杂性,比如交互逻辑的复杂
selenium
web测试工具,运行在浏览器中,像真正的用户在手工操作一样。支持主流的浏览器,其功能包括:
1、测试与浏览器的兼容性
2、测试系统功能,创建回归测试检验产品功能
webdriver
对浏览器提供的原生API进行封装,用这套API可以操作浏览器
python、selenium、webdriver三者之间的关系
selenium是python的一个库,python代码不能直接操作浏览器,但可以操作webdriver
示例
from selenium import webdriver
# 实例化一个浏览器
browser = webdriver.Chrome()
# 访问地址
browser.get('http://www.baidu.com')
# 找到输入框
ele = browser.find_element_by_id('kw')
# 输入框输入内容
ele.send_keys('花心')
# 找到“百度一下”按钮
ele = browser.find_element_by_id('su')
ele.click()
# 退出浏览器
# browser.quit()
执行结果:
注意:
如果系统环境变量中没有chromedriver.exe的路径,这时执行代码时要报错,解决办法:
1、首先需要下载Chromedriver,下载后得到的是一个chromedriver.exe文件。
chromedriver下载地址:
http://npm.taobao.org/mirrors/chromedriver/
2、将chromedriver.exe拷贝至谷歌浏览器目录(如 C:\Program Files (x86)\Google\Chrome\Application)以及python根目录(如 D:\Python)
3、将谷歌浏览器环境变量添加到path(如 C:\Program Files (x86)\Google\Chrome\Application)