在测试自动化中使用Java枚举

本文探讨了在测试自动化中使用Java枚举的优势,并通过示例展示了如何使用枚举来表示国家/地区,包括选择国家、填充城市信息以及验证下拉列表内容的测试场景。枚举用于存储多个国家的属性,如标签、城市列表和电话前缀,简化了测试数据的管理和使用。
摘要由CSDN通过智能技术生成

在测试自动化中使用Java枚举


 

在决定用于存储测试数据的数据类型时,您可能需要满足以下条件:

  • 允许声明多个属性

  • 无行为或行为极少

  • 允许轻松创建多个相似实体

对象几乎可以满足这些要求。但是,创建多个实体将意味着创建几个仅具有少量属性且没有行为或行为最少的对象。最小的行为转化为少量的方法。基本上,对于您需要的每个实体,都必须创建一个新的对象。那将是浪费。相反,可以使用一种特殊类型的Object Enum。

我们可以使用Enums来表示概念,例如:工作日,一年中的月份,浏览器或语言。在本文中,我想举例说明Enums的用法,该枚举具有多个属性和一个表示国家的构造函数。您可以在本文末尾找到GitHub链接,以链接到此处示例的所有代码。有关枚举是什么的信息,请参考官方文档。

在测试中使用Java枚举:国家/地区示例

对于此示例,让我们考虑一下,在测试中,您需要填写国家/地区特定的注册表。您需要在此表单中提供的一些详细信息是:国家/地区,该国家/地区的城市以及国家/地区专用的电话号码,所有这些都属于您要填写注册表格的客户。您正在使用的网站在全球许多国家/地区都可以使用。

为了进行测试,让我们缩小将要使用的国家/地区的范围:奥地利,爱沙尼亚和西班牙。这些国家/地区中的每个国家/地区都有我们需要在注册表格中提供的3个属性:国家/地区名称,城市列表和电话前缀。基于此前缀,我们可以生成一个测试电话号码。为了代表每个国家/地区,我们将使用枚举。用于表示国家/地区的常数值为:AT,EE和ES。

我们将声明枚举如下:

public enum Country {
      AT("Austria", Arrays.asList("Vienna", "Salzburg", "Innsbruck"), 43),    EE("Estonia", Arrays.asList("Tallinn", "Haapsalu", "Tartu"), 372),    ES("Spain", Arrays.asList("Malaga","Madrid","Valencia","Corralejo"), 34);
    public final String label;    public final List<String> cities;    public int phoneNumberPrefix;
    Country(String label, List<String> cities, int phoneNumberPrefix) {
          this.label = label;        this.cities = cities;        this.phoneNumberPrefix = phoneNumberPrefix;    }}

首先我们为国家常数指定允许值的集合,以及所有属性的允许值。我们通过声明标签,城市和phoneNumberPrefix来定义这些属性的类型。它们是:一个字符串,一个字符串列表和一个整数。

构造函数在内部用于生成Enum值。因此,例如,“ AT”具有属性,其顺序与构造函数中参数的顺序相对应:“ 标签 ”属性值为“奥地利”,属于该国家/地区的“ 城市 ” 列表为:“维也纳”, “ Salzburg”,“ Innsbruck”和“ phoneNumberPrefix ”为43。

我们可以按如下方式检索与Enum常量相对应的属性:Country.CONSTANT.propertyName。例如:Country.AT.label将给我们“奥地利”。如您所见,Country属性是静态的。

在注册表格上,从下拉列表中选择国家,从另一个下拉列表中选择城市,并通过在字段中键入来提供电话号码。

为国家/地区特定信息创建的Page类包含以下条目:

 

@FindBy(css = &#
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试test

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值