测试代码
根据测试用例,进行测试
1.冒烟用例:test_search
2.测试输入为空:test_search_null
3.测试输入特殊字符:test_search_character
4.测试输入不存在的数据:test_search_nothingness
5.测试输入超长字符:test_search_boundary
import allure
from selenium import webdriver
from selenium.webdriver.common.by import By
class TestCeshiren:
# 前置
def setup_class(self):
self.driver = webdriver.Chrome()
# 配置隐式等待,最长等待时间5秒
self.driver.implicitly_wait(5)
def setup(self):
# 打开ceshiren网站
self.driver.get(‘https://ceshiren.com/’)
# 后置
def teardown_class(self):
self.driver.quit()
# 冒烟用例,搜索正向功能的正确性
def test_search(self):
'''
测试步骤
1.打开ceshiren网站
2.点击首页的搜索按钮
3.点击高级搜索按钮
4.输入搜索信息
5.点击搜索
6.断言搜索的信息和内容是相关的
'''
# 点击首页的搜索按钮
self.driver.find_element(By.CSS_SELECTOR,".search-dropdown").click()
# 点击高级搜索按钮,跳转到高级搜索页面
self.driver.find_element(By.CSS_SELECTOR,".searching").click()
# 定位到搜索框输入要搜索的数据 selenium
self.driver.find_element(By.CSS_SELECTOR,".search-query").send_keys("selenium")
# 定位到搜索按钮并点击
self.driver.find_element(By.CSS_SELECTOR,".search-cta").click()
# 断言,根据搜索信息,定位到搜索到的标签,判断是否和搜索的结果相同
res_text = self.driver.find_element(By.CSS_SELECTOR,".search-link").text
# 截图
self.driver.save_screenshot("search.png")
# 上传图片
allure.attach.file("search.png",name="冒烟测试",attachment_type=allure.attachment_type.PNG)
assert "selenium" in res_text
# 测试搜索输入为空
def test_search_null(self):
'''
测试步骤
1.打开ceshiren网站
2.点击首页的搜索按钮
3.点击高级搜索按钮
4.输入一个为空的搜索信息
5.点击搜索
6.断言
'''
# 点击首页的搜索按钮
self.driver.find_element(By.CSS_SELECTOR, ".search-dropdown").click()
# 点击高级搜索按钮,跳转到高级搜索页面
self.driver.find_element(By.CSS_SELECTOR, ".searching").click()
# 定位到搜索框,输入为空
self.driver.find_element(By.CSS_SELECTOR, ".search-query").send_keys("")
# 定位到搜索按钮并点击
self.driver.find_element(By.CSS_SELECTOR, ".search-cta").click()
# 断言,根据搜索信息,定位到提示标签
res_text = self.driver.find_element(By.CSS_SELECTOR, ".fps-invalid").text
# 对运行结果进行截图操作
self.driver.save_screenshot("search_null.png")
# allure.attach.file(文件名称,name=起的名字,attachment_type=文件的类型)
allure.attach.file("search_null.png",name="输入为空",attachment_type=allure.attachment_type.PNG)
# 塞入报告:使用命令行的方式进行 pytest test_ceshiren --alluredir = ./report
# (test_ceshiren 文件名) (./report执行文件路径)
# 查看报告 allure serve report/ (报告名称)
assert res_text == "您的搜索词过短。"
# 测试搜索特殊字符
def test_search_character(self):
'''
测试步骤
1.打开ceshiren网站
2.点击首页的搜索按钮
3.点击高级搜索按钮
4.输入特殊字符
5.点击搜索
6.断言
'''
# 点击首页的搜索按钮
self.driver.find_element(By.CSS_SELECTOR, ".search-dropdown").click()
# 点击高级搜索按钮,跳转到高级搜索页面
self.driver.find_element(By.CSS_SELECTOR, ".searching").click()
# 定位到搜索框,输入特殊字符
self.driver.find_element(By.CSS_SELECTOR, ".search-query").send_keys("$%#&*")
# 定位到搜索按钮并点击
self.driver.find_element(By.CSS_SELECTOR, ".search-cta").click()
# 断言,根据搜索信息,定位到提示标签
res_text = self.driver.find_element(By.CSS_SELECTOR, ".ember-view h3").text
# 对运行结果进行截图操作
self.driver.save_screenshot("search_character.png")
# allure.attach.file(文件名称,name=起的名字,attachment_type=文件的类型)
allure.attach.file("search_character.png", name="输入特殊字符", attachment_type=allure.attachment_type.PNG)
# 塞入报告:使用命令行的方式进行 pytest test_ceshiren --alluredir = ./report
# (test_ceshiren 文件名) (./report执行文件路径)
# 查看报告 allure serve report/ (报告名称)
assert res_text == "找不到结果。"
# 测试搜索不存在的字符
def test_search_nothingness(self):
'''
测试步骤
1.打开ceshiren网站
2.点击首页的搜索按钮
3.点击高级搜索按钮
4.输入不存在的字符
5.点击搜索
6.断言
'''
# 点击首页的搜索按钮
self.driver.find_element(By.CSS_SELECTOR, ".search-dropdown").click()
# 点击高级搜索按钮,跳转到高级搜索页面
self.driver.find_element(By.CSS_SELECTOR, ".searching").click()
# 定位到搜索框,输入不存在的字符
self.driver.find_element(By.CSS_SELECTOR, ".search-query").send_keys("了凡四训")
# 定位到搜索按钮并点击
self.driver.find_element(By.CSS_SELECTOR, ".search-cta").click()
# 断言,根据搜索信息,定位到提示标签
res_text = self.driver.find_element(By.CSS_SELECTOR, ".ember-view h3").text
# 对运行结果进行截图操作
self.driver.save_screenshot("search_nothingness.png")
# allure.attach.file(文件名称,name=起的名字,attachment_type=文件的类型)
allure.attach.file("search_nothingness.png", name="输入特殊字符", attachment_type=allure.attachment_type.PNG)
# 塞入报告:使用命令行的方式进行 pytest test_ceshiren --alluredir = ./report
# (test_ceshiren 文件名) (./report执行文件路径)
# 查看报告 allure serve report/ (报告名称)
assert res_text == "找不到结果。"
# 测试内容超长的边界值
def test_search_boundary(self):
'''
测试步骤
1.打开ceshiren网站
2.点击首页的搜索按钮
3.点击高级搜索按钮
4.输入内容超长的边界值 4
5.点击搜索
6.断言
'''
# 点击首页的搜索按钮
self.driver.find_element(By.CSS_SELECTOR, ".search-dropdown").click()
# 点击高级搜索按钮,跳转到高级搜索页面
self.driver.find_element(By.CSS_SELECTOR, ".searching").click()
# 定义要搜索的超长字符串
boundary = '“The Selenium Browser Automation Project” The Selenium Browser Automation Project Selenium is an umbrella project for a range of tools and libraries that enable and support the automation of'
# 定位到搜索框,输入内容超长的边界值
self.driver.find_element(By.CSS_SELECTOR, ".search-query").send_keys(boundary)
# 定位到搜索按钮并点击
self.driver.find_element(By.CSS_SELECTOR, ".search-cta").click()
# 断言,根据搜索信息,定位到提示标签
res_text = self.driver.find_element(By.CSS_SELECTOR, ".fps-result-entries").text
# 对运行结果进行截图操作
self.driver.save_screenshot("search_boundary.png")
# allure.attach.file(文件名称,name=起的名字,attachment_type=文件的类型)
allure.attach.file("search_boundary.png", name="最大边界值搜索", attachment_type=allure.attachment_type.PNG)
# 塞入报告:使用命令行的方式进行 pytest test_ceshiren --alluredir = ./report
# (test_ceshiren 文件名) (./report执行文件路径)
# 查看报告 allure serve report/ (报告名称)
assert boundary in res_text