首页 > 其他分享 >【wyTest自动化测试】快照校验模式的创新实践

【wyTest自动化测试】快照校验模式的创新实践

时间:2024-07-16 20:25:32浏览次数:18  
标签:快照 wyTest self 校验 商城 测试 page def

本文将以遥遥领先【华为商城】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())

五、执行测试脚本

六、分析测试报告

七、替换标准快照

八、重新执行一下

九、剔除快照中不参与校验的区域

十、最终成功的测试报告

标签:快照,wyTest,self,校验,商城,测试,page,def
From: https://blog.csdn.net/qq_39465480/article/details/140469614

相关文章

  • 基于快照的异步远程复制介绍
    本文分享自天翼云开发者社区《基于快照的异步远程复制介绍》,作者:l****n1、简介:本文介绍了基于RBD快照的异步远程复制技术2、概念介绍:异步远程复制:通过定时的将业务端的数据同步到备份端,从而实现数据的备份和灾难恢复的技术;RBD快照:RBD快照是RBD在某一时刻全部数据的只读镜像......
  • Linux驱动加载源码分析(安全加载 、签名、校验)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。环境说明  无前言  很久很久以前,在android上面移植linux驱动的时候,由于一些条件限制,导致我们测试驱动非常的麻烦。其中有一个麻烦就是驱动校验失败,然后内核拒......
  • 全终端自动化测试框架wyTest
            突然有一些觉悟,程序猿不能只会吭哧吭哧的低头做事,应该学会怎么去展示自己,怎么去宣传自己,怎么把自己想做的事表述清楚。                于是,这两天一直在整理自己的作品,也为接下来的找工作多做点准备。接下来献丑了,我鄙人花了2天时间整理出......
  • python 校验密码强度
    在我们的日常生活中,密码的安全性是非常重要的。无论是我们的电子邮件账户,社交媒体账户,还是银行账户,都需要一个强大的密码来保护。在这篇文章中,我将向你展示如何使用Python来检查密码的强度。代码解析首先,我们需要导入 string 库。importstring然后,我们定义一个函数......
  • Hibernate-validator校验框架
    转载:http://blog.csdn.net/xgblog/article/details/525486591前言Validator开发者使用手册,适用后台校验功能的开发参考。1.1. 背景在我们日常后台的开发中,涉及到很多的字段验证,一般普通的验证框架就基本上可以满足日常的开发需求,但有一些情况,这些普通的验证框架无法达到要求......
  • 4.7 在 VS Code 中校验 Jenkinsfile
    在日常工作中,我经常需要创建或修改很多Jenkinsfile,有时还会发生错误。这是一个非常繁琐的流程——修改Jenkinsfile,提交、推送,然后等Jenkins提醒你少加了一个括号。Command-linePipelineLinter(https://jenkins.io/doc/book/pipeline/development/)可以有效地减少编写Jenk......
  • 【汽车故障诊断4】一文了解故障诊断码DTC验证程度、快照和扩展数据
    在上篇【汽车故障诊断3】一文了解诊断故障码DTC状态位介绍DTC状态位,本篇文章将继续介绍DTC的其他信息:DTC严重程度,DTC快照和DTC扩展数据。1什么是DTC严重程度  DTC严重程度占用1个字节数据,包含两部分信息,DTC严重程度信息(3位)和DTC类别信息(5位),如下所示:source:ISO15031-6 ......
  • vue table+form 表格+表单动态增加一行 数据 并进行数据校验
    本功能主要实现表格加表单并且在表格中添加一行新数据,进行数据表单校验1.使用el-form将el-table包裹起来实际代码不方便展现,大概是这个意思也可以参考element中的表单的动态增加案例地址:Element-Theworld'smostpopularVueUIframework<el-form:model="Form"ref=......
  • 每周一个技能点:责任链模式实现数据多重校验
    定义:责任链模式(ChainofResponsibility):使多个对象都有机会处理同一请求,从而避免请求的发送者和接受者之间的耦合关系,每个对象都是一个处理节点,将这些对象连成一条链,并沿着这条链传递该请求。原始概念中,是直到链上的某个接收对象能够处理它为止。实际使用中,链上的所有对象......
  • 反码求和 校验和算法
    参考链接问题引出最近在学习ICMP时,看到里面有关于校验和的算法一知半解。校验和是16bit字的二进制反码和,也觉得很奇怪,为什么会用反码和,而不是直接求和呢?或者是补码和呢?如果计算机中存储数据使用原码,则会导致两个问题,1.有负数参与的运算结果不正确。2.0的表示方法有两种。......