我想检查某些格式的UI文字格式,例如C165433,A636673等 一种方法是从UI检索文本并使用正则表达式进行匹配,如果matches()的结果为true则传递测试用例,否则抛出异常,表示不匹配。我知道webpath中没有match()在xpath中以任何其他方式匹配来自UI的字符串
答案 0 :(得分:2)
是的,matches()
function is not available for use via webdriver at the moment。
您必须使用编程语言进行匹配,例如,在Java中:
WebElement element = driver.findElement(By.id("myid"));
String value = element.getText();
assertTrue(value.matches("[A-Z][0-9]{6}"));
答案 1 :(得分:1)
实际上,webdriver支持Xpath 1 .0
,而matches()
是Xpath 2.0
功能的标准。
使用Xpath
您可以使用contains()
来匹配来自用户界面的字符串,但它不支持模式。
但是如果你想使用正则表达式来匹配字符串,你只需要一种方法从UI中检索文本并使用编程语言Java中的String.matches()
,如下所示: -
WebElement el = driver.findElement(By..);
return (element.getText().matches("[A-Z][0-9]+"))