使用selenium web驱动程序比较excel值和控制台输出

我在第一个数组中存储excel值,在第二个数组中存储控制台输出值。 然后我比较excel值与控制台输出一个接一个。我有debugging代码,它存储适当的数组中的值。 但即使值匹配为真,它总是打印“FALSE”。

我最近的代码如下:

WebDriver driver = new FirefoxDriver(); driver.get("https://www.google.co.in/?gfe_rd=cr&ei=1YaGVMutHcXN8gf39ID4Aw&gws_rd=ssl#q=what+is+software+testing"); java.util.List<WebElement> links = driver.findElements(By.tagName("h3")); int sizecount = links.size(); System.out.println(sizecount); //READING DATA FROM EXCEL FROM 1ST COLUMN FileInputStream input = new FileInputStream("D:\\sel.xls"); int count=0; HSSFWorkbook wb = new HSSFWorkbook(input); HSSFSheet sh = wb.getSheet("sheet1"); String exceldata[] = new String[20]; for (int i=0;i<=sh.getLastRowNum();i++) { HSSFRow row = sh.getRow(i); exceldata[i]= row.getCell(count).toString(); System.out.println(exceldata[i]); } String linkdata[] = new String[20]; for(int j=1;j<=links.size()-1;j++) { linkdata[j] = links.get(j).getText(); System.out.println(linkdata[j]); } for(int k=0;k<links.size()-1;k++) { if(exceldata==linkdata) { System.out.println("TRUE"); } else { System.out.println("FALSE"); } } driver.close(); } } 

注意:我已经用operator ==和.equals两个尝试了。

我已经在你的程序中告诉你几个问题,你可以根据这个来修改你的程序。

Issue 1

当你将值存储在exceldata和linkdata数组中时,你正在使用不同的索引,exceldata数组存储索引0的值,而linkdata存储索引1的值,所以你需要修改你的程序,如下所示:

 for(int k=0;k<links.size()-1;k++){ if(exceldata[k].trim().equals(linkdata[k+1].trim())){ System.out.println("TRUE"); }else{ System.out.println("FALSE"); } } 

还有一个问题,我已经告诉过你了。

你现在很好走。