如何使用selenium webdriver将数字从excel表更改为字符串

时间:2014-10-29 11:33:37

标签: testng

如何使用selenium webdriver将数字从excel表格更改为字符串 我在excel表中将值传递为10,但在Web应用程序中输入为10.0。 提前谢谢

2 个答案:

答案 0 :(得分:1)

解决方案1 ​​

我希望您使用apache poi从Excel中读取。 在这种情况下,此示例可以帮助您

CellReference cr = new CellReference("A1");
XSSFRow row = sheet.getRow(cr.getRow());
XSSFCell cell = row.getCell(cr.getCol());
switch (cell.getCellType()) {
    case XSSFCell.CELL_TYPE_NUMERIC:
        System.out.println(cell.getRawValue());
        break;
    case XSSFCell.CELL_TYPE_BOOLEAN:
        System.out.println(cell.getBooleanCellValue());
        break;
    case XSSFCell.CELL_TYPE_STRING:
        System.out.println(cell.getStringCellValue());
        break;
    default:
        System.out.println(cell.getRawValue());
}

对于excel中的值1234,cell.getNumericCellValue()将返回1234.0并且cell.getRawValue()将返回1234

解决方案2

如果您无法在读取Excel的位置修改任何内容,请在使用Webdriver输入值之前格式化String

public static void main(String[] args) {
    String input = "1234.0";
    try {
        double parseDouble = Double.parseDouble(input);
        DecimalFormat df = new DecimalFormat("0");
        String formatNumber = df.format(parseDouble);
        System.out.println(formatNumber);
    } catch (Exception e) {
        System.out.println("Input is not a numeric");
    }
}

答案 1 :(得分:0)

这个输入值应该是字符串,从excel表获取整数值,在这需要将inputvalue更改为string.if我在这个方法中将inputvalue更改为整数,sendkeys(inbuild java方法)不接受整数inputvalue.i这个方法中不需要奇数码。我需要从excelsheet中读取值,并发送给这个方法。

public static void inttypeIn(String objLocator,String inputValue){

      try
      {
          findWebElement(objLocator);

      webElement.sendKeys(inputValue);
      webElement.sendKeys(Keys.TAB);

        APP_LOGS.debug("Typing '" + inputValue + "' in : " + locatorDescription);
      }
      catch (Exception e)
      {
            APP_LOGS.debug("FAIL : The locator "+objLocator+" of description '"+locatorDescription+"': does not exists in webpage:");
            Reporting.fail("FAIL : The locator '"+objLocator+"' of description '"+locatorDescription+"': does not exists in webpage:");
      }
  }