软件自动化测试概述
- 自动化测试是为了在软件测试的过程中节省人力、时间等资源以机器执行测试代替人工测试过程而进行的测试
- 自动化测试只能用来做简单逻辑的业务测试
- 自动化测试主要目的是为了验证已测功能的正确性
自动化测试适用情况
- 测试任务明确、需求不会频繁变动
- 软件系统稳定,变动少
- 软件需要在多平台、环境下运行执行相同的测试用例
- 项目周期长,进度压力不大、测试时间相对充裕等
web自动化测试环境
- 编程语言:python3
- 编辑器:编辑器可选用pycharm、vscode、eclipse等,此处使用vscode
- 工具:selenium3、virtualenv
- 第三方模块 HTMLTEestRunner,用来生成测试报告
- selenium主要用于web应用程序的自动化测试
- 开源、免费
- 具备支持多平台、支持多款浏览器、多语言等特点
- 可用python自带的pip进行安装,在DOS窗口输入pip install selenium(未输入版本号,默认安装最新版本)即可自动安装
- virtualenv用来创建虚拟环境,可用python自带的pip进行安装,在DOS窗口输入pip install virtualenv
web自动化项目创建
- 一个自动化项目和开发软件一样需要创建项目在项目下创建包用来管理不同的文件
项目文件构成
- 在项目中所有的文件、文件夹名不要使用中文命名,命名尽量做到能见名思意
- 测试用例文件夹cass:存放测试用例
- 测试数据文件夹data:存放测试数据
- 浏览器驱动文件夹drivers:因为使用的是selenium3,所以需要单独下载浏览器驱动
- 测试报告文件夹reports:存放测试报告
- 第三方模块文件夹utils:存放第三方模块,在此文件夹内创建一个名为__init__.py的文件,让文件夹变成一个包
- 虚拟环境nenv,创建虚拟环境时自动生成(打开vscode后在终端输入virtualenv env生成虚拟环境)
- 运行文件run.py,效果和主程序入口相同,执行测试并且生成测试报告
激活虚拟环境、在虚拟环境内安装selenium3
- 创建好项目文件后需要先激活虚拟环境
- 首先进入创建虚拟环境时生成的文件夹 nenv/Scripts
- 运行activate,终端文件位置前面出现(nenv)即为激活成功,安装selenium3
F:\vscd>cd ./nenv/Scripts
F:\vscd\nenv\Scripts>activate
(nenv) F:\vscd\nenv\Scripts>
(nenv) F:\vscd\nenv\Scripts>cd ../..
(nenv) F:\vscd>pip install selenium
访问百度
- UI自动化测试首先从元素定位开始,通过selenium的webdriver可以对web页面元素定位
- 常用元素定位方法:id、name、class、link、xpath、css等
- 首先我们通过webdriver来做一个简单的百度首页输入点击操作
from selenium import webdriver
driver = webdriver.Chrome(executable_path='./drivers/chromedriver')
driver.get("http://www.baidu.com")
driver.find_element_by_name('wd').send_keys("selenium3")
driver.find_element_by_id('su').click()
driver.quit()
- 首先我们导入selenium中的webdriver
- 实例化一个调用Chrome浏览器的webdriver传入浏览器驱动地址,命名为driver
- 通过webdriver使用get()方法访问百度首页
- webdriver使用name属性定位找到百度搜索框元素,用send_keys传入参数
- webdriver使用id属性定位到搜索按钮,并点