我正在使用 selenium IDE 和 Selenium-Fitnesse Bridge 夹具,我正在尝试测试当我从表单字段中清除默认值时,我的表单会显示一条错误消息。
因此,当我使用 Selenium IDE 进行录制时,它所做的就相当于告诉 Selenium 什么都不输入。
| 类型 | 文本字段 | |
问题在于我正在使用的 Fitnesse 夹具期望第二个参数不为空。
Selenium 有没有办法“清除值”而不是“不输入任何内容”?
我正在使用 selenium IDE 和 Selenium-Fitnesse Bridge 夹具,我正在尝试测试当我从表单字段中清除默认值时,我的表单会显示一条错误消息。
因此,当我使用 Selenium IDE 进行录制时,它所做的就相当于告诉 Selenium 什么都不输入。
| 类型 | 文本字段 | |
问题在于我正在使用的 Fitnesse 夹具期望第二个参数不为空。
Selenium 有没有办法“清除值”而不是“不输入任何内容”?
您可以通过 javascript 执行此操作:
| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('CONTROL_ID').value = ''} ||
有效地,verifyEval 语句允许您执行任何您想要的 javascript。使使用 Selenium 完成的一些难题变得更加简单。
我使用本教程(今天信不信由你)来解决问题。
我用它来让它工作。reg_start_date
是我的输入字段的 id。
| storeEval | window.document.getElementById('reg_start_date').value = '' |
从硒参考:
请注意,默认情况下,代码片段将在“selenium”对象本身的上下文中运行,因此
this
将引用 Selenium 对象。用于window
引用应用程序的窗口,例如window.document.getElementById('foo')
此外,请避免使用 javascript{} 包装 javascript 代码,它不会起作用。
我们一开始也有这个问题。尝试:| 类型 | 文本字段 | 空白 |
查找有关使用空白和 null 的 Fitnesse 文档的更多信息。
:)