【发布时间】:2014-12-06 08:48:51
【问题描述】:
我编写了一个 selenium 代码来从包含 2 列的 excel 表中读取值。我需要将这些输入到网页中的 2 个文本框中。此时我不想使用 TestNG。我的问题是每次浏览器打开每个条目的网页,即每一行。假设我在 excel 表中有 10 行,打开了 10 个网页,每个网页都会输入到文本框。如何重写我的代码以打开单个浏览器并逐个输入值。
public class Insert {
public static void main(String[] args)
{
try {
FileInputStream fis = new FileInputStream("F:\\Book4.xlsx");
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet = wb.getSheet("testdata");
for(int count = 1;count<=sheet.getLastRowNum();count++)
{
XSSFRow row = sheet.getRow(count);
System.out.println("Running test case " + row.getCell(0).toString());
runTest(row.getCell(1).toString(),row.getCell(2).toString());
}
fis.close();
} catch (IOException e) {
System.out.println("Test data file not found");
}
}
public static void runTest(String name,String mailid)
{
WebDriver driver=new FirefoxDriver();
driver.get("http://www.deal4loans.com/");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.xpath("html/body/div[4]/div/div/div[1]/a[1]")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.xpath("html/body/div[6]/div[1]/div/div[4]/form/table/tbody/tr[3]/td/table/tbody/tr[1]/td[2]/input")).sendKeys(name);
driver.findElement(By.xpath("html/body/div[6]/div[1]/div/div[4]/form/table/tbody/tr[3]/td/table/tbody/tr[2]/td[2]/input")).sendKeys(mailid);
}
}
【问题讨论】:
标签: selenium