自动化测试模式简介
资料来自《selenium2自动化测试实战——基于python语言》
自动化测试的模型大家了解多少?下面我们一起来看看有哪些自动化测试模型,他们之间的特点是什么。
- 线性测试
通过录制或者编写应用程序的操作步骤生成的线性脚本,来实现应用程序的功能检测模型为线性测试模型
1 # __Author__:"Jim_xie" 2 # __version__: "3.7.0" 3 from selenium import webdriver 4 from time import sleep 5 from selenium.webdriver.common.keys import Keys 6 7 print('打开浏览器') 8 dr = webdriver.Firefox() 9 print('打开163音乐网站') 10 dr.get('http://music.163.com') 11 print('找到搜索框') 12 dr.implicitly_wait(3) 13 ele_search = dr.find_element_by_name('srch') 14 print('搜索苏运莹') 15 ele_search.send_keys('苏运莹',Keys.ENTER) 16 sleep(3) 17 print('保存截图') 18 dr.save_screenshot('c:/Temp/'+dr.title+'.png') 19 print('关闭浏览器') 20 dr.quit()
1. 开发成本高,测试用例之间可能会存在重复操作
2. 维护成本高,因有重复操作,如果需要修改重复操作又会产生重复的修改操作
针对重复操作部分,有没有一个更好的方法能够改良呢?让重复部分该改动一次即可达成目的。 - 模块化驱动测试
将重复操作写成可以调用的模块,使用的时候,直接调用。
特点:
1. 提高了开发效率,不用重复编写重复的操作
2. 简化了维护测试用例的复杂度
针对重复操作,比如说登录,现在我们要测试不同用户登录,还是得重写登录内容。 - 数据驱动测试
这时候引入数据的参数化,即将重复步骤的可变部分用参数代替,下次再调用的话,传参即可。
特点:
进一步增强了脚本的复用性
针对重复步骤的调用,除了可以使用模块化驱动测试,按不同顺序调用模块外,还可以使用其他方法吗? - 关键字驱动测试
市面上关键字驱动的工具不少,典型的有QTP、Robot Framework(RIDE)、selenium IDE常用的自动化测试模型就是以上几种,仅供参考,谢谢!