UI自动化数据比对:YAML配置助力自动化提效50%

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


为了保障用户资产操作的完整性,历史有设计一个自动化方案,通过对比「预发环境的操作菜单列表+正式环境的操作菜单列表」结果是否一致,来确认当前版本是操作菜单是否与线上一致。   

 历史方案的不足:需要在2个环境执行相同的脚本,耗费时间多1倍,例如预发环境执行10min,则正式环境也需要执行10min,效率较低。

优化后的方案

正式环境的菜单列表数据以配置文件形式存储,减少在正式环境通过UI自动化读取预期菜单列表值的动作,具体方案如下:

  • 使用yaml配置文件存储线上标准的菜单列表配置,如下图:(yaml语法可自行百度)

  

代码-读取ymal配置文件方法

import yaml
def readYml(yaml_path,key,formats):
    # 打开文件
    with open(yaml_path,encoding='utf-8') as f:
        # 读取文件内容
        data_json=f.read()
        # safe_load将文件内容转为yaml的python字典格式
        res= yaml.safe_load(data_json)
        # 通过键值方式读取yaml的列表类型的数据
        res_value = res[key][formats]
        # 关闭文件
        f.close()
        return res_value

代码-测试用例中直接读取yaml

# 获取配置文件地址
yaml_path=os.getcwd() +"/data/standard/team.yaml"
def test_team_myspace_1_gdTemplateOperation(page):
    """
    团队版 【我的空间】稿定模版-单个操作菜单列表
    """
    # 进入我的空间
    page.goto(myspace)
    time.sleep(3)
    # page.goto(myspace)
    logger.info(f"当前空间地址:{myspace}")
    content=Content(page)
    # 从稿定导入模版
    content.copyFromGD()
    filter=Filter(page)
    # 切换到模版tab
    filter.tab_template_filter()
    content.hoverFirstFileOrFolder()
    content.clickFirstFileOrFolderMore()
    result=content.readOperation(env,"团队版","【团队版】我的空间-稿定模版")
    expect = readYml(yaml_path, "myspace", "gd")
    logger.info(f'result:{result}')
    logger.info(f'expect:{expect}')
    assert result == expect
    # 断言 缩略图 默认菜单按钮
    content.hoverFirstFileOrFolder()
    assert page.get_by_text("编辑", exact=True).first.is_visible()

代码解析:

  1. 第20行之前的代码都是业务逻辑,通过UI自动化步骤读取操作菜单列表数据,赋值给变量result

  2. 第21行:从yaml表格内读取预期操作菜单列表数据并赋值给变量expect

  3. 第24行:通过assert 对比result和expect的值是否一致,一致则表示用例执行通过,否则进行人工确认是否存在缺陷

通过使用yaml配置存储预期的期望值,可以节约一半的自动化执行时间(减去正式环境执行UI自动化读取预期数据的时间),不足之处就是需要建立人工维护yaml配置文件的机制,当迭代更新或者线上配置变更时,需要及时维护更新ymal配置文件。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
在这里插入图片描述​​​​
在这里插入图片描述​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值