如何为WebElement分配xapth值,这些值是从字符串格式中的Excel工作表中检索的

时间:2017-06-01 11:19:49

标签: selenium xpath

我创建了一个excel表,其中包含用户名和密码字段的Xpath。

我从excel中检索了这些值并将它们存储在String变量

从Excel工作表中检索的xapth值

String xpath = xpath.getContents();

我希望将以上值发送到WebElement电子邮件下面,而不是硬编码的xpath

WebElement email = driver.findElement(By.xpath("//input[@name='j_username']"));

如何将xapth值从string变量发送到WebElement语句?

1 个答案:

答案 0 :(得分:1)

假设您有一个xpath,例如单元格0 0中Excel表格中的//div[@class='abc']/input

然后首先需要读取该单元格并将其值存储在字符串中。

获取字符串值的方法是

String usernameXpath = sheet.getRow(0).getCell(0).getStringCellValue(); 

然后传递给:

WebElement email = driver.findElement(By.xpath(usernameXpath));

以下是基于已知单元格从Excel读取数据的示例代码

public class ReadExcel 
{
    FileInputStream fis;
    XSSFWorkbook workbook;
    XSSFSheet sheet;

    public ReadExcel() throws IOException
    {
        // Read Excel File
        fis = new FileInputStream(new File("src/test/resources/SiteTestData.xlsx"));
        workbook = new XSSFWorkbook(fis);

        // To get Sheet 1
        sheet = workbook.getSheetAt(0);

    }

    public String getCellData(int rowNum, int colNum)
    {
        return sheet.getRow(rowNum).getCell(colNum).getStringCellValue();
    }
}