如何将String值转换为Integer值,并希望通过webdriver中的“SendKeys”提供

时间:2017-07-18 05:13:49

标签: java selenium-webdriver

我有一个excel文件的read方法,并返回String值。

我的excel值中的ReqQty = 2,但它是字符串,并且从UI端应用程序不允许在“ReqQty”中输入字符串值,它只允许Integer值。所以在这里我无法通过'SendKeys'方法在'ReqQty'字段中提供价值。

代码是:

String Str = ExcelUtils.getcell(1,2) ; 
Integer x = Integer.Valueof(x); 
driver.findelement(By.xpath("xpath").sendkeys(Integer.valueo‌​f(x)); – 

3 个答案:

答案 0 :(得分:1)

这是让你前进的方法:

@Test
public void testParsing() {
    String input = "ReqQty = 2";
    Pattern pattern = Pattern.compile("ReqQty.*=.*([\\d]+)");
    Matcher matcher = pattern.matcher(input);
    if (!matcher.find()) {
        throw new IllegalArgumentException("failed to parse digits from: " + input);
    }

    System.out.println(Integer.parseInt(matcher.group(1)));
}

关键要素:

  • 正则表达式pattern用于"匹配"对于字符串中的多个数字
  • Integer.parseInt()将数字的子字符串转换为数字

除此之外:看起来你自己负担过重了。你得到的错误信息非常清楚" ReqQty = 2"是只包含数字的字符串。因此,您必须从该字符串中提取该数字部分。这真的是基本的东西。如果这已经超出了你的技能,那么从excel中获取数据以将其传递给selenium可能超出了你现有的技能!

因此:真正的答案是 - 退一步研究java 基础知识

答案 1 :(得分:0)

您可以使用Integer.parseInt(String x)

将字符串转换为整数
String x = "17";
int xAsInt = Integer.parseInt(x);
System.out.println(xAsInt);

答案 2 :(得分:0)

要将字符串值转换为整数,您可以尝试使用

'int x = Integer.parseInt("1234");'

或者如果您使用的是StringBuilder或StringBuffer,可以试试这个

'Integer.parseInt(myBuilderOrBuffer.toString());'