2017-10-11 41 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");