Java 从SeleniumWebDriver中的PageObject检索给定的价格表
我正在学习Java以支持我的Webdriver技能,并且需要知道使用PageObject模型调用不同价格表的最佳实践。我有一个AUT,其价格表将每两年更改一次。因此,我不想像现在这样硬编码值:Java 从SeleniumWebDriver中的PageObject检索给定的价格表,java,selenium,webdriver,parameterized,pageobjects,Java,Selenium,Webdriver,Parameterized,Pageobjects,我正在学习Java以支持我的Webdriver技能,并且需要知道使用PageObject模型调用不同价格表的最佳实践。我有一个AUT,其价格表将每两年更改一次。因此,我不想像现在这样硬编码值: String summaryPaymentPrice = orderSummaryPage.yourOrderSummaryPaymentPrice(); assertThat(summaryPaymentPrice, is("£15.00")); 我想要的是一个参数化断言,类似于: Str
String summaryPaymentPrice = orderSummaryPage.yourOrderSummaryPaymentPrice();
assertThat(summaryPaymentPrice, is("£15.00"));
我想要的是一个参数化断言,类似于:
String summaryPaymentPrice = orderSummaryPage.yourOrderSummaryPaymentPrice();
assertThat(summaryPaymentPrice, is(seniorMembership2014));
…其中“seniorMembership”是Pricelist页面对象中的变量,对于给定的Pricelist,例如2014/2015 Pricelist:
String seniorMembership2014 = "15.00"
我的问题是,如何最好地在页面对象页面中实现2个或3个价格表——我还没有Java 7的语法知识——字符串的ArrayList是最好的吗?有人能提供一个例子并演示测试类如何调用它吗
编辑:那么,Vinayak建议了一个HashMap。我以前没有使用过,但在我的PageObject中类似于以下内容的内容可能会起作用:
public void currentPriceList(){
Map<String,String> priceList = new HashMap <String,String>();
//2014/2015 Pricelist
priceList.put("Child", new String ("10.00"));
priceList.put("Senior", new String ("15.00"));
priceList.put("Adult", new String ("20.00"));
public void currentPriceList(){
Map priceList=newhashmap();
//2014/2015价格表
价格表。put(“子”,新字符串(“10.00”);
价格表.看跌期权(“高级”,新字符串(“15.00”);
价格表。放置(“成人”,新字符串(“20.00”);
我仍然不完全清楚如何在参数化测试中访问每个价格我建议您使用
HashMap
保存
对,这样键
将是2014/2015和值
-它们各自的字符串元素。Vinayak-谢谢,我已经更新了问题价格表。获取(string keyname)
在您的示例中,它将是priceList.get(“child”);