2017-10-11 53 views
0

我们可以在我们的Selenium框架中编写一个类来识别用户传递的女巫定位器吗? 这意味着。在Selenium Java中解析web定位器

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作为定位这个类必须识别并返回硒的正确的代码块。

+0

的XPath为什么你需要这并不总是从/ –

+0

开始?请问? –

+0

我打算将不同的类保留为对象映射。 –

回答

0

,而不是的charAt(0),我们可以使用命名约定,很容易

uiUsernameTXT_xpath= //so and so 

找到它,因为我们写的字符串。用“_”分割字符串,并返回最后一个并返回位置类型。别的好使用由运营商

static By uiUsernameTX=By.xpath(".//* so and so");