本文将以遥遥领先的【华为商城】web端自动化为例,进行测试脚本开发的讲解。仅用于教学指导使用,如有侵权,请联系我删除。
一、测试脚本结构
按照教程惯例,开篇先展示一下测试脚本的标准结构模版: case_xx特性_xx001.py
class CaseTest:
testAbout = """
***** 测试描述 *****
***** 预置条件 *****
***** 测试步骤 *****
"""
def setup(self):
"""测试前置操作"""
def testStep(self):
"""测试执行"""
def teardown(self):
"""测试后置操作"""
二、编写测试脚本
- 补充用例描述
- 补充完整脚本模版的基本结构
- 根据提示开始填充代码操作和检查
知识点1:
所有操作一定是基于用户进行的,每个用户会被单独分配一个浏览器,同时,整个执行阶段,同一个用户是共用一个浏览器的,既保障了独立性,又不会滥用资源。
知识点2:
page_open 是打开页面的函数
三、快照校验的使用
用法1:对整个page页面进行快照校验
page_screenshot_diff
用法2:对指定元素区域进行快照校验
find_element().screenshot_diff
四、源码
#!/usr/bin/env/python3
# coding=utf-8
from wyTest_testAuto.run.caseLocalRun import caseLocalRun # 单机测试模式
from wyTest_testAuto.config.testAutoConfig import testAutoConfig # 执行配置
from wyTest_testAuto.library.log.logout import logout # 日志输出
from wyTest_testAuto.library.webFun import webFun # web端测试
class CaseTest:
testAbout = """
***** 测试描述 *****
打开华为商城首页
***** 预置条件 *****
***** 测试步骤 *****
【步骤1】A用户_打开华为商城首页
【检查1.1】正确展示商城页面
"""
def setup(self):
"""测试前置操作"""
self.caseId = testAutoConfig.caseId()
self.objLog = logout("")
# 获取操作对象
self.userSignA = "A用户"
self.objWeb = webFun(self.userSignA)
def testStep(self):
"""测试执行"""
self.objLog.testStep("【步骤1】A用户_打开华为商城首页")
self.objWeb.page_open("https://www.vmall.com/index.html")
self.objLog.testCheck("【检查1.1】正确展示商城页面")
self.objWeb.page_screenshot_diff("华为商城首页")
# self.objWeb.find_element().screenshot_diff("华为商城首页")
def teardown(self):
"""测试后置操作"""
if __name__ == '__main__':
caseLocalRun(CaseTest())
五、执行测试脚本
六、分析测试报告