如果我想为不同的国家/地区运行测试,我应该使用什么样的设计模式

时间:2017-03-21 18:55:44

标签: java selenium design-patterns selenium-webdriver

explicit-broker-destinations

您好,

我正在创建测试方法,我必须通过该国家/地区,产品类型以及我填写结算和公司地址的不同地址组合

我必须测试4个不同的国家,每个国家都有自己独特的流程。所以我为不同的国家/地区设置了单独的PageObjects。

例如AUPageObjectFRPageObjectCAPageObject java类文件。

但是一些定位器和验证消息对于不同的国家/地区流程是相同的。所以我想我会创建一个超类,我可以把所有常见的页面对象放在那个超类中。这是个好主意吗?

例如:

public USPageObject extends AllCountryPageObject {
}

我还必须测试他们可以购买两种不同产品类型(试用产品或现在购买产品)的所有国家/地区。我必须使用不同的组合进行测试,我可以选择填充或不填充公司地址。然后使用不同的信用卡类型。

我应该使用哪种最佳测试设计模式?我应该创建一个重载构造函数吗?任何建议都会有很大帮助。

public methodName (newCountry(CountryName), newCardType(Card), boolean isCompanyPopulated, new productType(product))
{

} 

1 个答案:

答案 0 :(得分:-1)

我建议您将通用测试抽象到一个单独的类中,并使用每个通用测试的方法。然后,在进行测试时,您调用通用测试x,然后避免重复一般冗余的项目。您始终可以返回true / false,具体取决于测试是通过还是失败,以便它显示在父测试级别。

通过这种方式,您可以保持页面框架体系结构,但有一个关闭泛型,无论页面结构如何,都可以被框架中的所有测试重用。然后根据需要导入并调用测试。如果这不起作用,请更多地描述您的框架或澄清更具体的目标。

示例:登录测试方法。从应用程序底部开始的每个测试都必须登录,因此即使您登录并导航到完全不同的地方,登录测试本身也会编写一次,并作为第一步从一堆测试中调用。