1

SeleniumWebドライバーを使用しています。アプリケーションにログインできますが、ログアウト中にスタックし、ログアウトリンクが見つからない理由があります。私はそれをbyLinkとbyIdで見つけようとしました。また、thread.sleep()を使用してみましたが、何も機能していないようです。

ログアウトリンクはすべてのページにあります。

HTMLコード:

<li>#{loginView.loggedInUser}>
    <ul><li><h:link value="Administration" outcome="Administration.xhtml" /></li>
    <li><h:commandLink value="Logout" actionListener="#{loginView.logout}">
      <f:param id="userName" value="#{loginView.username}" />
    </h:commandLink></li>
    </ul></li>

SELENIUMコード:

Thread.sleep(5000); 

WebElement logOut = findElementByLinkText("Logout");

logOut.click();

assertEquals("Please sign in: ", findElementBySelector("h3.loginTitle.centerAlign").getText());
4

2 に答える 2

2

このコードを使用して、ログアウト リンクが含まれている場合にページに存在するリンクの数を確認し、ロケーター「linktext」を使用してクリックできます。

public void Link(){

        driver.get(baseUrl);
        HtmlTagFinder links = LinkFinder.links();
        List<WebElement> allLinks = (List<WebElement>) links.findFrom(driver);
        System.out.println(allLinks.size());
        int i = 1;
        for(WebElement link : allLinks){
            System.out.println(i);
            System.out.println(link.getText());
            i++;
        }

        driver.close();
        driver.quit();
    }
于 2013-07-24T07:46:45.740 に答える
0
driver.findElement(By.xpath("@value='Logout'")).click();
于 2013-01-23T16:34:01.907 に答える