传统自动化测试:
基于产品ui层的自动化测试,它是将黑盒功能测试转化为程序或工具执行的一种自动化测试。
分层自动化测试:
应该有更多低级别的单元测试基于产品ui层的测试。
分层自动化测试:
倡导从黑盒(ui)单层到黑盒白盒多层自动化测试体系,从全面黑盒自动化测试到对系统的不同层次进行自动化测试。
单元自动化测试:
指对软件中的最小可测试单元进行检查和验证,规范的进行单元测试需要借助单元测试框,如Java语言的junit、testng,python语言的unittest、pytest等。
接口自动化测试:
1.模块接口测试:主要测试模块之间的调用与返回。
2.web接口测试:主要分为服务器接口测试与外部接口测试。
ui自动化测试:
ui层是用户使用产品的入口,所以功能都通过ui层展示提供给用户,所以测试工作大都集中在这一层进行。
自动化适用的场景:
1、需求变动不频繁。
2、项目周期较长。
3、自动化测试脚本不可复用。
本文主要介绍测试工具:selenium
selenium经历了三个版本:1.0,2.0,3.0
主要的组成工具:selenium IDE, selenium Grid ,selenium RC.
selenium IDE
selenium IDE 是镶嵌到Firefox浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能快速的创建bug重现脚本,在测试人员的测试过程中,发现bug之后可以用过IDE将重现的步骤录制下来,以帮助开发人员更容易的重现bug。IDE录制的脚本可以转成多种语言,从而帮助我们快速的开发脚本,关于这个功能后而用到时再详细介绍。
selenium Grid
selenium Grid 是一种自动化的测试辅助工具,GRID通过利用现有的计算机基础设施,能加快webapp的功能测试,利用grid可以很方便的同时在多台机器和异构环境中并行运行多个测试实例。
特点:
1.并行执行。
2.通过一个主机统一控制用例在不同环境,不同浏览器运行。
3.灵活添加变动测试机。
selenium RC
selenium rc是selenium家族的核心工具,selenium rc 支持多种不同的语言编写自动化测试脚本,通过selenium rc 的服务器作为代理服务器去访问应用从而达到测试的目的。
selenium rc 使用分client libraries和selenium server,client libraries库主要是用于编写测试脚本,用来控制selenium server的库。
Selenium Server 负责控制浏览器行为,总的来说,Selenium Server 主要包括 3 个部分:Launcher、Http Proxy、Core。其中 Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的。其实 Selenium Core就是一堆 JS 函数的集合,就是通过这些 JS 函数,我们才可以实现用程序对浏览器进行操作。Launcher 用于启动浏览器,把 selnium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的Http Proxy。
搞清了 selenium 1.0 的家族关系,selenium 2.0 是把 WebDriver 加入到了这个家族中; 简单用公式表示为: selenium 2.0 = selenium 1.0 + WebDriver
selenium 的环境搭建:
1.安装python
2.安装selenium ->命令格式下:pip install selenium
查看安装信息:pip show selenium
代码演示:
#打入包
#selenium下的webdriver和time
from selenuim import webdriver
import time
#设置引用的模块和包
driver=webdriver.Chrome()#设置引用的浏览器
driver,get("http://baidu.com")#设置浏览器打开的网页
driver.maxsize_window()#打开浏览器后网页界面的大小
time.sleep(2)#设置延迟时间
driver.close()#关闭网页
#driver.quit()#关闭浏览器进程