我收到了一条未定义的方法错误消息,因为'有'方法
expect(@gymhomepage.find_your_local_gym).to
have(@gymhomepage.find_your_local_gym.first_gym_location)
我试图断言first_gym_location css是否位于find_your_local_gym部分内。
Please see my framework on Github
有人有任何建议吗?
答案 0 :(得分:1)
Capybara没有提供have
匹配器,它提供了一堆have_<something>
匹配器。假设@gymhomepage.find_your_local_gym.first_gym_location
返回一个CSS选择器,那么你将使用
expect(@gymhomepage.find_your_local_gym).to have_css(@gymhomepage.find_your_local_gym.first_gym_location)
如果相反@gymhomepage.find_your_local_gym.first_gym_location
是一个找到元素已经作用域的方法,你只需要做
expect(@gymhomepage.find_your_local_gym.first_gym_location).to be
因为已经确保通过调用find_your_local_gym
元素将其限定为<input class="my-input" ...>
input.my-input {
...
}
元素(假设您没有陷入XPath陷阱 - https://github.com/teamcapybara/capybara#beware-the-xpath--trap)