软件测试/测试开发丨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
相关推荐
2501_9378609423 分钟前
Java 文件操作与IO(下):字节流、字符流实战IO读写
java·开发语言·python
E_ICEBLUE39 分钟前
为 Excel 工作簿和工作表设置密码保护【Python教程】
python·excel
Sylvia33.4 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
梦想不只是梦与想4 小时前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
ai小陈6 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
测试者家园8 小时前
为什么意图驱动测试是自动化测试的下一站,而不是替代品
自动化测试·软件测试·人工智能·持续测试·ai赋能·智能化测试·软件测试变革
2601_962299249 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
weixin_440730509 小时前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具
学术 学术 Fun10 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
2601_9621005411 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·