我正在编写一个脚本,该脚本使用Capybara填充文本字段,但是在填充字段之前,我想确保这些字段为空并且不会自动填充文本。基本上,我在寻找
的反义词(Object) fill_in(locator, options = {}) #empty_content_of? delete?
在这里找到:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Actions。建议吗?
苦苦挣扎之后,我问了一个同事,解决方法是使用以下方法:
fill_in(locator, with: "")
因此,例如:
fill_in "Name", with: ""
这很合理,可能对许多人来说很直观,但是我很困惑,无法找到答案,所以我想我会发表有关它对任何人都有帮助的事情。
您可以使用本地硒绑定来清除输入字段,而无需填写空字符串
element = find('locator')
element.native.clear
我更喜欢此选项,而不是fill_in
。
此外,如果您考虑使用它,则只能通过标签或名称来查找定位器,因此,如果它没有标签或名称,则仍然必须使用find
仅对我而言,此解决方案有效:
fill_in('Foo', with: 'bar', fill_options: { clear: :backspace })
我在前端有Vue.js。
对于React,您必须做更多的事情。 fill_in field, with: ''
执行native.clear
。这在React中不能很好地发挥作用。与native.clear
不同。因为它会在键入文本之前输入fill_in field, with: 'some text'
。
我遇到了arguments[0].value = ''
的问题。我已经解决的是:
react-datetime
一种对我有效且始终可靠的解决方案:
react-datetime
用水豚模仿用户的行为,这对我来说似乎也是正确的方法。