2017-10-11 14 views
0

ユーザが渡す魔女のロケータを識別するために、Seleniumフレームワークにクラスを書くことはできますか? という意味です。Selenium Javaでウェブロケータを解決する

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"); 
関連する問題