Selenium:如何使用javascript清除表单字段中的值?

时间:2009-01-09 18:52:55

标签: selenium fixtures fitnesse selenium-fitnesse-bridge

我正在使用selenium IDE和Selenium-Fitnesse Bridge夹具,我正在尝试测试当我从表单字段中清除默认值时,我的表单会显示错误消息。

因此,当我使用Selenium IDE进行录制时,它所做的就是告诉Selenium不要输入任何内容。

| type | text_field |  |

问题在于我正在使用的Fitnesse夹具需要第二个参数不为空。

Selenium有没有办法“清除价值”而不是“什么都不打字”?

3 个答案:

答案 0 :(得分:6)

你可以通过javascript这样做:

| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('CONTROL_ID').value = ''} || 

有效地,verifyEval语句允许您执行任何您想要的javascript。使Selenium更容易实现一些难题。

我用this tutorial(今天信不信由你)来解决问题。

答案 1 :(得分:3)

我用它来使它工作。 reg_start_date是我输入字段的ID。

| storeEval | window.document.getElementById('reg_start_date').value = '' |

来自硒参考:

  

请注意,默认情况下,代码段将在“selenium”对象本身的上下文中运行,因此this将引用Selenium对象。使用window来引用您的应用程序窗口,例如window.document.getElementById('foo')

另外,避免使用javascript {}包装javascript代码,它将无效。

答案 2 :(得分:1)

我们一开始也有这个问题。尝试:|类型| text_field |空白|

在Fitnesse文档中查找有关使用blank和null的更多信息。

:)