В некоторых тестах Selinium Webdriver я заметил, что не могу отправить форму, вызвав submit()
по любому из элементов формы, но я может позвонить click()
на кнопку отправки просто отлично. Для иллюстрации проблемы я создал простую тестовую веб-страницу. В приведенном ниже примере, когда я звоню submit()
, я вижу кнопку отправки. Но когда я звоню click()
, форма фактически отправляется, и я вижу «Представлено».Selenium click() работает, но submit() не
<html>
<body>
<?php if(isset($_POST["submit"])): ?>
Submitted
<?php else: ?>
<form method="post">
<input id="submit" name="submit" type="submit" value="submit">
</form>
<?php endif; ?>
</body>
</html>
Я использую this шаблон Selenium, а вот как выглядит мой тест:
@Listeners(ScreenshotListener.class)
public class LoginTest extends SeleniumBase {
@Test
public void test() {
WebDriver driver = getDriver();
driver.get("http://localhost/test.php");
WebElement submit = driver.findElement(By.id("submit"));
submit.click(); // works
// submit.submit(); // doesn't work
}
}
Вы не можете отправить кнопку, введите идентификатор, чтобы сформировать элемент, например. 'id =" myForm "' и попробуйте 'WebElement form = driver.findElement (By.id (" myForm ")); form.submit(); ' – mdesdev
@msdesdev Selenium Давайте будем называть' submit() 'на любом элементе внутри формы, что должно привести к тому, что сама форма будет отправлена, поэтому это должно сработать. Но я все-таки попробовал ваш метод, и это не сработало. – gsingh2011
Извините, что больше не могу помочь, я не работаю с Selenium;) – mdesdev