我有一个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.valueof(x)); –
答案 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)));
}
关键要素:
除此之外:看起来你自己负担过重了。你得到的错误信息非常清楚" 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());'