Web 自动化测试
Web 自动化测试
学习价值
学习体系
- 掌握环境搭建和配置方式。
- 掌握用例录制方式,学会导出用例且能运行成功,理解用例录制的结构。
- 掌握基本定位、交互方式以及与浏览器的控制方式。
- 手动编写自动化测试用例。
知识模块
- L1. 用例录制与编写
实战需求
实战 1:用例录制与导出
"必应搜索" 测试步骤描述:
- 打开必应搜索 https://cn.bing.com/?mkt=zh-CN
- 输入关键字:"Selenium中文官网"。
- 点击搜索按钮。
- 断言 “Selenium” 在搜索结果的标题中。
- 导出用例,运行成功。
实战 2:职位搜索功能实战
地址:https://jobs.bytedance.com/
- 打开招聘网页。
- 输入职位关键词:测试工程师。
- 点击搜索按钮。
- 断言出现的第一个标题内容包含搜索的关键词:测试工程师。
实战 3: 测试人搜索功能实战
地址:https://ceshiren.com/
要求:
- 使用
css
定位。 - 添加搜索结果截图。
- 添加报告
步骤:
- 打开测试人论坛。
- 点击搜索按钮。
- 输入关键字:ChromeDriver。
- 点击高级搜索按钮。
- 选择话题为"开放"
- 点击搜索按钮。
- 断言出现的第一个标题或简介文本内容包含 chromedriver。
相关知识点
教程地址 | 教程视频地址 | 时间范围 |
---|---|---|
环境安装与使用 | 环境安装与使用 | 全部 |
自动化用例录制 | 自动化用例录制 | 全部 |
自动化测试用例结构分析 | 自动化测试用例结构分析 | 全部 |
web 浏览器控制 | web 浏览器控制 | 全部 |
常见控件定位方法 | 常见控件定位方法 | HTML介绍 0:00-03:30 定位讲解 03:30-23:24 |
常见控件交互方法 | 常见控件交互方法 | 全部 |
三种等待方式 | 三种等待方式 | 全部 |
高级定位-css | 高级定位-css | 基础使用 0:00-25:35 关系定位 25:35-37:45 |
Allure2 报告中添加用例步骤 | Allure2 报告中添加用例步骤 | 全部 |
Allure2 报告中添加附件-图片 | Allure2 报告中添加附件-图片 | 全部 |
实战内容
1. 必应搜索用例录制与导出
class TestTestsearch():
def setup_method(self, method):
self.driver = webdriver.Chrome()
self.vars = {}
def teardown_method(self, method):
self.driver.quit()
def test_testsearch(self):
self.driver.get("https://cn.bing.com/?mkt=zh-CN")
self.driver.set_window_size(1520, 798)
self.driver.find_element(By.ID, "sb_form_q").click()
self.driver.find_element(By.ID, "sb_form_q").send_keys("Selenium中文官网")
self.driver.find_element(By.CSS_SELECTOR, "#search_icon > svg").click()
time.sleep(5)
assert self.driver.find_element(By.CSS_SELECTOR, ".b_algo:nth-child(2) > h2").text == "Selenium"
2. 职位搜索功能实战
def test_job_title():
# 初始化浏览器
driver = webdriver.Chrome()
# 最大化窗口
driver.maximize_window()
# 设置隐式等待
driver.implicitly_wait(15)
# 进入字节招聘网站
driver.get("https://jobs.bytedance.com/")
# 点击搜索框,输入搜索的关键词
driver.find_element(By.CSS_SELECTOR, '.atsx-input.atsx-input-lg.search-input').send_keys("测试工程师")
# 点击搜索按钮
driver.find_element(By.CSS_SELECTOR, '.atsx-btn.sofiaBold.atsx-btn-primary.atsx-btn-circle').click()
# 等待搜索结果出现
sleep(5)
# 获取职位名称
job_ele = driver.find_element(By.CSS_SELECTOR, '.positionItem-title-text')
# 断言搜索的关键词在标题当中
assert "测试工程师" in job_ele.text
总结
- 用例录制
- 自动化脚本编写
- 结合 Allure 测试报告