WebDriver - quel est le moyen le plus efficace de remplir dans les détails sur un formulaire web
Prendre une page web standard, avec beaucoup de champs de texte, des listes déroulantes, etc.
Quel est le moyen le plus efficace de webdriver pour remplir les valeurs et ensuite vérifier si les valeurs ont été saisies correctement.
Vous n'avez qu'à vérifier que les valeurs sont saisies correctement si vous avez certains de validation javascript ou autre magie qui se passe à votre champs de saisie. Vous ne voulez pas tester que webdriver/sélénium fonctionne correctement.
Il existe différentes façons, en fonction de si vous voulez utiliser webdriver ou le sélénium. Voici un pot-pourri des choses que je suis en utilisant.
Assert.assertEquals("input field must be empty","", selenium.getValue("name=model.query"));
driver.findElement(By.name("model.query")).sendKeys("Testinput");//here you have to wait for javascript to finish. E.g wait for a css Class or id to appearAssert.assertEquals("Testinput", selenium.getValue("name=model.query"));
Avec webdriver seulement:
WebElement inputElement = driver.findElement(By.id("input_field_1"));
inputElement.clear();
inputElement.sendKeys("12");//here you have to wait for javascript to finish. E.g wait for a css Class or id to appearAssert.assertEquals("12", inputElement.getAttribute("value"));
Espérons-le, les résultats de remplir votre formulaire sont visibles pour l'utilisateur, d'une certaine manière. Alors que vous pourriez penser le long de ces BDD-esque lignes:
When I create a new movie
Then I should see my movie page
Qui est, votre "nouveau film" les étapes ferait l'entrée de champ & submit. Et votre "Puis" pourraient affirmer que le film montre avec vos données saisies.
element = driver.find_element(:id, "movie_title")
element.send_keys 'The Good, the Bad, the Ugly'
# etc.
driver.find_element(:id, "submit").click
Je suis juste à barboter en ce moment, mais c'est ce que j'ai trouvé jusqu'à présent. Il semble bien plus bavarde que quelque chose comme le Capybara:
fill_in 'movie_title', :with => 'The Good, the Bad, the Ugly'
Vous n'avez qu'à vérifier que les valeurs sont saisies correctement si vous avez certains de validation javascript ou autre magie qui se passe à votre champs de saisie. Vous ne voulez pas tester que webdriver/sélénium fonctionne correctement.
Il existe différentes façons, en fonction de si vous voulez utiliser webdriver ou le sélénium. Voici un pot-pourri des choses que je suis en utilisant.
Avec webdriver seulement:
OriginalL'auteur VolkerK
Espérons-le, les résultats de remplir votre formulaire sont visibles pour l'utilisateur, d'une certaine manière. Alors que vous pourriez penser le long de ces BDD-esque lignes:
Qui est, votre "nouveau film" les étapes ferait l'entrée de champ & submit. Et votre "Puis" pourraient affirmer que le film montre avec vos données saisies.
Je suis juste à barboter en ce moment, mais c'est ce que j'ai trouvé jusqu'à présent. Il semble bien plus bavarde que quelque chose comme le Capybara:
Espère que cette aide.
OriginalL'auteur Jon Kern