软件测试/测试开发丨UI自动化测试用例结构分析

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/26899

一、用例结构

1.1、标准的用例结构

  • 用例标题 搜狗搜索功能
  • 前提条件 进入搜狗首页
  • 用例步骤 1、输入关键词;2、点击搜索
  • 预期结果 1、搜索成功;2、搜索结果中包含关键字
  • 实际结果

1.2、自动化测试用例结构

自动化测试用例 作用
用例标题 测试包、文件、类、方法名称 用例的唯一标识
前提条件 setup、setup_class(Pytest);BeforeEach、BeforeAll(JUnit) 测试用例前的准备动作,比如读取数据或者driver的初始化
用例步骤 测试方法内的代码逻辑 测试用例具体的步骤行为
预期结果 assert 实际结果 = 预期结果 断言,印证用例是否执行成功
实际结果 assert 实际结果 = 预期结果 断言,印证用例是否执行成功
后置动作 teardown、teardown_class(Pytest);@AfterEach、@AfterAll(JUnit) 脏数据清理、关闭进程

二、录制脚本分析

  • 脚本步骤:

    1. 访问搜狗网站
    2. 搜索框输入"霍格沃兹测试开发"
    3. 点击搜索按钮
python 复制代码
class Test():
  def setup_method(self, method):
    self.driver = webdriver.Chrome()
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def test_sougou(self):
    # 打开网页,设置窗口
    self.driver.get("https://www.sogou.com/")
    self.driver.set_window_size(1235, 693)
    # 输入搜索信息
    self.driver.find_element(By.ID, "query").click()
    self.driver.find_element(By.ID, "query").send_keys("霍格沃兹测试开发")
    # 点击搜索
    self.driver.find_element(By.ID, "stb").click()

三、录制脚本优化

  • 添加隐式等待
  • 添加断言
python 复制代码
class Test():
    def setup_method(self, method):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(3)
        # self.vars = {}

    def teardown_method(self, method):
        self.driver.quit()

    def test_sougou(self):
        # 打开网页,设置窗口
        self.driver.get("https://www.sogou.com/")
        self.driver.set_window_size(1235, 693)
        # 输入搜索信息
        # self.driver.find_element(By.ID, "query").click()
        self.driver.find_element(By.ID, "query").send_keys("霍格沃兹测试开发")
        # 点击搜索
        self.driver.find_element(By.ID, "stb").click()
        # element = self.driver.find_element(By.ID, "stb")
        # actions = ActionChains(self.driver)
        # actions.move_to_element(element).perform()
        time.sleep(5)
        # 添加断言
        fond_element = self.driver.find_element(By.ID, "sogou_vr_30000000_0")
        assert "霍格沃兹测试开发" in fond_element.text
相关推荐
站大爷IP3 分钟前
Python frozenset 集合详解:不可变集合的终极指南
python
一点.点8 分钟前
李沐动手深度学习(pycharm中运行笔记)——05.线性代数
pytorch·笔记·python·深度学习·pycharm·动手深度学习
Emma歌小白30 分钟前
JavaScript (JS) 和 Python 语法对比
python
梓羽玩Python1 小时前
开源AI代理爆火!Suna:3天内新增5.5K+标星,自然对话驱动的自动化神器!
人工智能·python·github
心灵宝贝1 小时前
Postman-win64-7.2.2 安装教程(Windows 64位详细步骤)
windows·测试工具·postman
咖啡调调。1 小时前
模板引擎语法-过滤器
python·django·sqlite
Ankie Wan1 小时前
notepad++技巧:查找和替换:扩展 or 正则表达式
python·正则表达式·notepad++
带娃的IT创业者1 小时前
《AI大模型趣味实战》智能Agent和MCP协议的应用实例:搭建一个能阅读DOC文件并实时显示润色改写过程的Python Flask应用
人工智能·python·flask
JavaEdge在掘金1 小时前
启动nginx报错,80 failed (97: Address family not supported by protocol)
python
纪元A梦1 小时前
华为OD机试真题——绘图机器(2025A卷:100分)Java/python/JavaScript/C++/C/GO最佳实现
java·javascript·c++·python·华为od·go·华为od机试题