2013-03-23 111 views
0

我有一个Excel文件,我的所有链接都存储在一个列中。每行一个链接。对于E.g:使用selenium web驱动程序访问excel文件的链接

www.example.com
www.test.com
www.demo.com

等。我想要做的是访问每个链接并在Firefox中打开它。获取地址栏中的链接,并将其与Excel单元格中的链接进行比较。如果两者都相同,则在下一个单元格中设置字符串“Pass”,否则设置字符串“Fail”。我该怎么做呢。你能给我一个示例代码吗?我正在使用java的selenium web驱动程序。

这里是我的尝试:

try { 
    FileInputStream file=new FileInputStream(new File(path)); 
    FileOutputStream outFile=new FileOutputStream(new File(path)); 
    HSSFWorkbook workbook=new HSSFWorkbook(file); 
    HSSFSheet sheet=workbook.getSheetAt(0); 
    HSSFCell cell=null;  
    int s=sheet.getLastRowNum()+1; 
    for(int i=0; i<s; i++){ 
     cell=sheet.getRow(i).getCell(0); 
     String url=cell.toString(); 
     driver.get(url); 
     Thread.sleep(10000); 
     String urlnew=driver.getCurrentUrl().toString(); 
     HSSFRow row=sheet.getRow(i); 
     HSSFCell cellresult=row.createCell(1); 
     if(url==urlnew){ 
      cellresult.setCellValue("Pass"); 
     }else{ 
      cellresult.setCellValue("fail"); 
     } 
     workbook.write(outFile); 
    }  
    file.close(); 
    outFile.close(); 
} 
+0

你试过了什么? – 2013-03-23 22:01:01

+0

我可以写,并给你C#代码这会帮助你吗? – CheryJose 2013-03-24 02:45:21

+0

您是否使用junit框架。让我知道。我可以给你的代码。 – 2013-03-24 03:42:45

回答

0
  1. 司机= webdriver.Firefox();
  2. 加载Excel文件(可以使用this
  3. 在行中循环,添加以下代码:driver.get(<细胞URL>);
+0

我无法将url与urlnew进行比较。我的Excel工作表都不能写入通过或失败。 – 2013-03-24 11:24:18

0

在您的代码中,您已使用以下语句比较两个字符串。

if(url==urlnew) 

使用下面的代码。它会工作。

if(url.equals(urlnew)) 

有关字符串比较的更多信息,请检查this链接。

相关问题