首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在web表单上填写详细信息的最有效方法是什么?

在web表单上填写详细信息的最有效方法是什么?
EN

Stack Overflow用户
提问于 2012-08-08 17:36:41
回答 2查看 18.8K关注 0票数 5

以一个有很多文本字段、下拉列表等的标准网页为例,在webdriver中填充值的最有效方法是什么,然后验证值是否输入正确。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-09 18:30:27

如果您在输入字段中进行了一些javascript验证或其他魔术操作,则只需测试输入的值是否正确。您不希望测试webdriver/selenium是否正常工作。

有多种方法,这取决于您想使用webdriver还是selenium。这是我正在使用的东西的一个大杂烩。

代码语言:javascript
复制
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 appear
Assert.assertEquals("Testinput", selenium.getValue("name=model.query"));

仅使用webdriver:

代码语言:javascript
复制
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 appear
Assert.assertEquals("12", inputElement.getAttribute("value"));
票数 8
EN

Stack Overflow用户

发布于 2013-07-10 00:43:06

希望用户能够以某种方式看到填写表单的结果。因此,您可以按照BDD风格的思路来思考:

代码语言:javascript
复制
When I create a new movie
Then I should see my movie page

也就是说,您的“新电影”步骤将完成字段输入和提交。你的"Then“会断言电影是用你输入的数据显示的。

代码语言:javascript
复制
element = driver.find_element(:id, "movie_title")
element.send_keys 'The Good, the Bad, the Ugly'
# etc.
driver.find_element(:id, "submit").click

我现在只是在涉足这一点,但这是我到目前为止想出来的。它看起来肯定比像Capybara这样的东西更冗长:

代码语言:javascript
复制
fill_in 'movie_title', :with => 'The Good, the Bad, the Ugly'

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11861680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档