WEB自动化测试的理解
什么时候可以做UI自动化测试?
- 业务流程不频繁改动
- UI元素不频繁的改动
- 需要频繁回归的场景
- 核心场景等等
selenium简介
官方网站:https://www.selenium.dev/
适用于web浏览器测试的工具
支持的浏览器包括:IE Firefox safari chrome edge等
使用简单,可使用java,python等多种语言编写
主要有三个工具构成:Webdriver IDE Grid
chromedriver的下载
地址:http://chromedriver.storage.googleapis.com/index.html
查看自己chrome版本号
在上面的地址里面找到自己的压缩包点击进行下载
然后对zip文件进行解压缩
之后,配置环境变量,将解压缩后的文件地址配置到path环境变量即可
自动化测试用例结构分析
标准用例结构:
用例标题
前提条件
用例步骤
预期结果
实际结果
我们可以统称为五大要素,功能要素这几个可以满足测试了,那么自动化测试的用例结构呢
我们可以这样总结:
用例标题:测试包、文件、类、方法名称 用例的唯一标识
前提条件:setup、setup_class(Pytest);BeforeEach、BeforeAll;测试用例前的准备动作,比如读取数据或者driver的初始化
用例步骤:测试方法内的代码逻辑,测试用例具体的步骤行为
预期结果:assert实际结果预期结果; 断言,印证用例是否执行成功
实际结果:assert实际结果预期结果; 断言,印证用例是否执行成功
后置动作: teardown、teardown_class @AfterEach、@AfterAll(JUnit);脏数据清理、关闭driver进程
web 浏览器控制
打开网页
刷新
回退
浏览器最大化
浏览器最小化
from selenium import webdriver
import time
driver = webdriver.Chrome()class TestWindow:def test_window():#打开网站driver.get("https://www.baidu.com/")time.sleep(2)#刷新浏览器driver.refresh()time.sleep(2)#退回driver.back()time.sleep(2)#最大化driver.maximize_window()time.sleep(2)#最小化driver.minimize_window()time.sleep(2)if __name__ == '__main__':TestWindow.test_window()
自动化定位策略
先看定位方式包含
通用场景:通用Web定位方式,js定位
特殊场景:弹框、日期控件、文件上传、其他场景等等
通用的Web定位方式
选择定位器通用原则
1、与研发约定的属性优先
2、身份属性id,name
3、复杂场景使用组合定位,比如xpath,css,父子定位等等
4、js定位