自动化测试一些理论
- 自动化测试适合:兼容性测试和回归测试
- 原理:脚本控制Webdriver,Webdriver控制浏览器
- Selenium的特点:轻量级、支持多语言、支持多平台、支持多浏览器、支持分布式测试
常用 Webdriver API
- 定位元素:id, name, tag_name, xpath, link_text, input
- 操作测试对象:click, send_keys, clear, submit, quit( ) 关闭浏览器并清理缓存,close( ) 仅关闭浏览器
- time.sleep(n) 固定等待时间n
driver.implicitly.waite(n) 智能等待时间n - driver.maximize_window() 浏览器最大化、
unittest 框架
- 测试固件:Setup() 和TearDown() 方法
其中Setup() 用在初始化,比如指定浏览器,初始化URL等工作;TearDown用在UI功能测试后的清理方法,比如关闭浏览器等 - 测试用例全部以test_开头命名,测试用例的执行顺序,按照用例命名:0 ~ 9,A ~ Z,a ~ z 的顺序执行
- 测试套件:
(1)addTest 适用:组织执行某个脚本的其中某几个测试用例,需要依次将测试用例添加进去
(2)MakeSuite 和 TestLoader 适用:组织执行某几个脚本
(3)discover适用:批量执行某个文件夹下的某种格式的脚本 - 忽略测试用例的方法,标签:@unittest.skip(“skipping”)
- 断言,unittest.assert判断预期与实际是否相等
- 数据驱动ddt