Web自动化 -- 测试人论坛搜索功能自动化测试实战
产品分析
- 产品:测试人论坛
- 功能:搜索
https://ceshiren.com
测试用例分析
用例标题 | 前提条件 | 用例步骤 | 预期结果 | 实际结果 |
---|---|---|---|---|
测试人搜索功能 | 进入测试人论坛首页 | 1. 点击搜索按钮 2. 输入搜索关键词 3. 点击搜索按钮 |
1. 搜索成功 2. 搜索结果列表包含关键字 |
编写脚本
from selenium import webdriver
from selenium.webdriver.common.by import By
"""
之前代码存在的问题
1.没有前置和后置处理动作
2.driver启动后没有关闭
-->规范写好teardown和setup方法
"""
class Testceshiren:
def setup(self):
#把每一个case通用的部分放在前置方法里
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(3)
self.driver.get("https://ceshiren.com/search?expanded=true")
def teardown(self):
#每一次都会关闭chrome的进程
self.driver.quit()
"""
前提条件:进入搜索家命名
测试步骤:
1、输入搜索关键词
2.点击搜索按钮
"""
def test_search(self):
# 找到输入框,输入搜索关键词appium
search_item = self.driver.find_element(By.CSS_SELECTOR, "[placeholder='搜索']")
search_item.send_keys("Appium")
# 找到搜索按钮,点击
self.driver.find_element(By.CSS_SELECTOR, ".search-cta").click()
#第一种断言方式,获取第一个搜索结果
# time.sleep(2) #调试加强制等待,看是不是没加载的问题
web_element = self.driver.find_element(By.CSS_SELECTOR,".topic-title")
#获取文本的实际结果,断言Appium是不是在文本中
#遇到结果大小写不一致导致断言失败问题:解决方案:在返回的文本加上lower(),强制转换为小写再判断
assert "appium" in web_element.text.lower()