0

我正在自动化flipkart站点。我的目标是login站点和logout站点。

成功登录无法注销,因为注销链接位于子菜单(鼠标悬停)下。

附上截图。

我尝试了所有可能的场景,比如使用Actionsclass 和javascriptexecutor.

仅当我手动将光标放在子菜单上时使用javascriptexecutor它才能正常工作,否则会引发错误。

显示子菜单和浏览器控制台问题的图像

4

1 回答 1

0

我没有问题让这个工作。

下面是使用getting-started-with-selenium 框架的脚本

@Config(url="http://flipkart.com", browser=Browser.FIREFOX)
public class TestFlikPart extends AutomationTest {
    @Test
    public void testLoginLogout() {
        String username = "<username>";
        String password = "<password>";

        click(By.cssSelector("a[href*='/login']"))
        .setText(By.cssSelector("input[name='email']"), username)
        .setText(By.cssSelector("input[name='password']"), password)
        .click(By.cssSelector("input[type='submit'][value='Login']"))

        .validatePresent(By.cssSelector("li.greeting-link > a"))

        .hoverOver(By.cssSelector("li.greeting-link > a"))

        .click(By.cssSelector("ul.account-dropdown a[href*='/logout']"))

        // should be logged out now.
        .validatePresent(By.cssSelector("a[href*='/login']"));
    }
}

我认为 MrTi 是正确的 - 我认为您可能忘记.perform()了采取行动。关于该hoverOver()方法的进一步解释,这就是该方法包含的内容 -

actions.moveToElement(driver.findElement(by)).perform();
于 2013-10-30T14:55:47.513 回答