-1

Facebookにログインするテストケースを作成する必要があります。では、テストを続行するために、テストユーザーにFacebookでログインするように強制するにはどうすればよいですか?

これが私が望む手順です:

  1. ユーザーがリンクをクリックすると、

  2. Facebookログインにリダイレクトします。

  3. ページの内容を確認してください。

4

2 に答える 2

0

次のアプローチを使用します。1) クリックしたいリンクの css セレクターを見つけます。

String cssSelector = ..blablalba..;

//これで、見つけたリンクをクリックできるようになりました

driver.findElement(By.cssSelector(cssSelector)).click();

//または js を直接使用:

JavascriptExecutor js = (JavascriptExecutor) driver;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("var x = $(\'"+cssSelector+"\');");
        stringBuilder.append("x.click();");
        js.executeScript(stringBuilder.toString());

2) ページのコンテンツを確認するには、fb ページでいくつかの Web 要素を見つけて、その要素がページに存在することを確認します。

input.findElements(By.xpath("//xpath")).size() > 0
//or by css selector: 
input.findElements(By.cssSeector("html>...blablabla...")).size() > 0
driver.findElement(By.cssSelector("html>...blablabla...")).isDisplayed()

または、流暢な待機を使用して、besic 要素が fb ログイン ページに表示されるのを待つだけです。

 public WebElement fluentWait(final By locator){
        Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
                .withTimeout(30, TimeUnit.SECONDS)
                .pollingEvery(5, TimeUnit.SECONDS)
                .ignoring(NoSuchElementException.class);

        WebElement foo = wait.until(
new Function<WebDriver, WebElement>() {
            public WebElement apply(WebDriver driver) {
                        return driver.findElement(locator);
                }
                }
);
                           return  foo;              }     ;

これがお役に立てば幸いです)

于 2012-09-18T13:19:25.613 に答える