我试图找到一个看不见的字段来填充使用Capybara,但我正在做的事似乎没有用

时间:2018-06-18 14:41:45

标签: selenium rubygems automated-tests capybara qa

我目前正在尝试使用Capybara填写Google登录表单,但我最难找到要填写的隐藏字段。

以下是我要填写的字段的HTML。

enter image description here

这是测试代码

android:paddingBottom="dimension(1025)

这是我得到的错误。enter image description here

1 个答案:

答案 0 :(得分:1)

首先,您不应该尝试填充隐藏字段,您应该像用户一样与可见元素进行交互。在这种情况下,它可能意味着需要首先单击另一个元素以触发电子邮件输入以更改为活动。像

这样的东西
first('form div[jscontroller]').click
fill_in('identifierId', with: email)

适用于Google登录页面。

注意:你也应该更喜欢使用CSS而不是XPath来尽可能地查找元素,因为它会更快,更容易阅读,并且不会无意中破坏元素范围(// vs .// in XPath - 见https://github.com/teamcapybara/capybara#beware-the-xpath--trap

更新:此外,所有it块都是完全独立的,其间有浏览器重置,因此您需要访问每个块的所需页面(如果{{1}中的所有it块1}}需要访问您可以将访问放在describe块中的同一页面。

注意:这一切都假设您实际上正在使用Selenium驱动程序进行此测试,因为问题标签意味着。