2015-06-17 91 views
0
 String[] expected = new String[10]; 
    //{"Acapulco","Frankfurt","London","New York","Paris","Portland","San Francisco","Seattle","Sydney","Zurich"}; 
    expected[0] = "Acapulco"; 
    expected[1] = "Frankfurt"; 
    expected[2] = "London"; 
    expected[3] = "New York"; 
    expected[4] = "Paris"; 
    expected[5] = "Portland"; 
    expected[6] = "San Francisco"; 
    expected[7] = "Seattle"; 
    expected[8] = "Sydney"; 
    expected[9] = "Zurich"; 

    List<WebElement> allOptions = driver.findElements(By.name("fromPort")); 


// match the fromPort list value against the expected Array 
    for (int i = 0 ; i < (expected.length) && i < allOptions.size(); i++) { 

     String optionValue = allOptions.get(i).getAttribute("value"); 

     if (optionValue.equals(expected[i])) { 
      System.out.println("PASSED on: " + optionValue + " we had: "+ expected[i]); 
     } 

     else { 
      System.out.println("FAILED on: " + optionValue + " we expected: " + expected[i]); 
     } 
} 
    //close Firefox 
    driver.close(); 

当执行循环只会轮一次,然后它的存在......因此,它执行: 传递:阿卡普尔科我们有:阿卡普尔科 然后退出循环...For循环不仅通过一次

My Other Comment

新所有这一切的Java和硒....

我假设它的东西做的仅是1大小;:

这是从我的其他评论下面就但不知道如何增加/克服这个

HTML片段添加在意见中的要求:

<tr> 

<td align="right"> 
    <font face="Arial, Helvetica, sans-serif" size="2"> 
     <b> 

      Departing 
          From: 

     </b> 
    </font> 
</td> 
<td> 
    <select name="fromPort"> 
     <option value="Acapulco"></option> 
     <option value="Frankfurt"></option> 
     <option value="London"></option> 
     <option value="New York"></option> 
     <option value="Paris"></option> 
     <option value="Portland"></option> 
     <option value="San Francisco"></option> 
     <option value="Seattle"></option> 
     <option value="Sydney"></option> 
     <option value="Zurich"></option> 
    </select> 
+0

您是否尝试过打印list allOptions的大小? –

+0

是的它的打印1 - 这是什么让我相信多数民众赞成在罪魁祸首 - 但如上所述不能确定这一点。但是,它又可能是1作为“循环中的第一个”? – xTNAx

+0

尝试在循环之前打印,尽管结果相同。将需要html片段。 –

回答

0

请使用下面的代码来选择所有选项。您尝试使用的代码选择select元素本身而不是选项。

List<WebElement> allOptions = driver.findElement(By.name("fromPort")).findElements(By.tagName("option")); 
+0

当试图用上面的代码替换,我得到“无效的字符常量”,并试图执行“线程中的异常”主“java.lang.Error:未解决的编译问题: \t无效字符常量“ – xTNAx

+0

啊,改为双引号”选项“,嘿presto!非常感谢 – xTNAx

+0

我编辑了代码,现在就试试。 –