Java 对于通过ajax提交的表单,Selenium测试用例失败

Java 对于通过ajax提交的表单,Selenium测试用例失败,java,selenium,jsp,selenium-webdriver,ajaxform,Java,Selenium,Jsp,Selenium Webdriver,Ajaxform,我有一个简单的登录页面,它是使用AJAX提交的。表单操作是“登录”。 登录的servlet映射如下所示: <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/Login</url-pattern> </servlet-mapping> <servlet> <servlet-name>Login&l

我有一个简单的登录页面,它是使用AJAX提交的。表单操作是“登录”。 登录的servlet映射如下所示:

<servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/Login</url-pattern>
</servlet-mapping>
<servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>devops.ilp1.controllerWithoutDb.UserLoginController</servlet-class>
</servlet>

有人能帮忙吗?

这三种解决方案中的任何一种都可以轻松工作:

解决方案1: 使用actions类单击 点击

解决方案2: 使用actions类在元素上移动鼠标并单击 act.movetoElement(按钮)。单击()

解决方案3:
您可以尝试使用JavaScriptExecutor

问题在于firefox webdriver。它似乎没有加载JQuery脚本。
我改用了Chrome,效果很好。

我尝试使用action类。它不起作用。仍将转到localhost:xxxx/loginId您是否尝试了一些等待按钮。单击()?在你可以为主页标题做断言之前。是的,我也试过了,但也没用,
<form id="someform" action=Login method="post">
  <input type="text"  class="fadeIn first" name="email" placeholder="Enter Email">
  <input type="password"  class="fadeIn second" name="password" placeholder="Enter Password">
  <button class="fadeIn third" type="submit">Login</button>
</form>
<script>  
$(document).on("submit", "#someform", function(event) {
    var $form = $(this); 
    $.post($form.attr("action"), $form.serialize(), function(response) {
        if(response){
           $('#someMsg').text(response).show().delay(2500).fadeOut("slow");
        }else{
           document.location = "Home"; 
        }
    });
    event.preventDefault(); 
});
public void loginSuccess() {
    driver.get("http://localhost:6080/ILP_Bookstore");
    WebElement email = driver.findElement(By.name("email"));
    WebElement pass = driver.findElement(By.name("password"));
    WebElement button = driver.findElement(By.xpath("/html/body/div[1]/div/form/button"));         
    email.sendKeys("govind@yahoo.com");
    pass.sendKeys("govind");
    WebDriverWait wait = new WebDriverWait(driver, 5);     
    wait.until(ExpectedConditions.visibilityOf(button));
    button.click();
    assertTrue(driver.getTitle().equals("HomePage"));
}