我们可以在Selenium框架中编写一个类来识别用户传递的巫婆定位器吗? 这意味着。
public class ResolveLocator {
static WebDriver driver;
static String uiUsernameTXT = "//input[@id='username']";
public static WebElement ResolveLocatorL(String uiElement) {
String checkLType = uiElement.toString();
WebElement returnLType = null;
switch (checkLType.charAt(0)) {
case '/': returnLType = driver.findElement(By.xpath(uiElement)); break;
case 'c': returnLType = driver.findElement(By.cssSelector(uiElement)); break;
case 'i': returnLType =driver.findElement(By.id(uiElement));; break;
case 'l': returnLType = driver.findElement(By.linkText(uiElement)); break;
}
return returnLType;
}
}
如果用户将XPath作为定位器传递,则该类必须识别并返回正确的selenium代码块。
答案 0 :(得分:0)
而不是charAt(0),我们可以使用命名约定轻松找到它
uiUsernameTXT_xpath= //so and so
因为我们正在写作字符串。用" _"分割字符串并去最后一个并返回位置类型。其他好用的操作员
static By uiUsernameTX=By.xpath(".//* so and so");