有一条鲸鱼耶 2024-09-25 00:43 采纳率: 50%
浏览 1

自动化测试怎么传入多个断言元素

ui自动化中,数据驱动用例怎么传递多个断言的元素?
注册页面,因为有多个相关输入需要断言

img


测试代码,已用关键字驱动

img


测试数据

img


需要断言的元素

img


因为每次运行的断言都不一样,需要去查找对于的元素文案,断言其中测试数据的结果。
有什么好的方法传到测试代码中?

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-25 00:44
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在自动化测试中,特别是UI自动化测试中,您面临的问题是要将多个断言元素和测试数据结合。为了处理这种情况,可以采用以下策略:

    1. 使用参数化测试数据(已经做得很好了):在测试中定义测试用例并接收一组参数(在这种情况下是测试数据)。这使得可以为每种可能的失败场景编写一个测试用例。您已经很好地使用了这种方法。
    2. 使用关键字驱动测试框架:将测试用例与特定的关键字关联起来,这些关键字描述了正在进行的测试的类型(例如,“验证用户名格式”)。每个关键字可以关联一个或多个断言,用于验证特定输入或结果是否符合预期。对于您的情况,您可以为每个断言元素创建一个关键字,并使用参数化的测试数据来驱动这些关键字。
    3. 动态断言:由于断言的元素可能因页面布局或内容而异,您可以根据实际的UI元素位置或内容动态生成断言。这意味着您可以编写代码来检查特定的UI元素(例如错误消息),并基于此生成断言。这对于您描述的注册页面非常有用,因为您需要根据用户输入的反馈信息来断言不同的测试数据。例如,您可以捕获特定字段的提示文本或错误消息,然后根据这些内容来断言用户输入的有效性。这样可以根据每个测试数据生成特定的断言集合。这种方法涉及到脚本解析界面元素的响应消息和文案来确定实际的断言内容。这需要复杂的脚本编写和对界面的深度理解。如果您选择这种方式,建议对UI元素和它们的响应文案进行详细的描述和文档化,以便更容易地编写断言逻辑。

    基于上述策略,您可以考虑以下步骤来实现您的需求:

    1. 继续使用参数化的测试数据(如您所展示的test_data列表)。每个测试用例(或测试数据条目)可以关联多个断言条件。
    2. 对于每个断言条件,创建一个关键字或函数来执行特定的断言逻辑。这些函数可以基于实际界面元素的响应来生成断言文本或逻辑。例如,如果注册页面有特定的错误提示消息,您可以在断言函数中捕获这些消息并进行断言。如果实际的提示消息与您期望的文案相匹配(或符合特定的格式),则测试通过;否则失败。这种方法的挑战在于如何解析和处理复杂的用户界面和错误提示消息,但可以为各种测试场景提供强大的灵活性。

    希望这些建议能帮助您更好地处理自动化测试中的多个断言元素和测试数据传递问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 9月25日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?