Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从SeleniumWebDriver中的PageObject检索给定的价格表_Java_Selenium_Webdriver_Parameterized_Pageobjects - Fatal编程技术网

Java 从SeleniumWebDriver中的PageObject检索给定的价格表

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

我正在学习Java以支持我的Webdriver技能,并且需要知道使用PageObject模型调用不同价格表的最佳实践。我有一个AUT,其价格表将每两年更改一次。因此,我不想像现在这样硬编码值:

 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”);