ruby-on-rails – 如何从下拉列表中选择第一个元素.回报率水豚硒

ruby-on-rails – 如何从下拉列表中选择第一个元素.回报率水豚硒,第1张

概述所以这段代码工作得很好,直到我最近更新了我的selenium webdriver: When /^I search for (.*)$/ do |term| term = " " if term == "blank" step "I fill in search with #{term}" within(".navbar-search") do page.f 所以这段代码工作得很好,直到我最近更新了我的selenium webdriver:

When /^I search for (.*)$/ do |term|    term = " " if term == "blank"    step "I fill in search with #{term}"    within(".navbar-search") do        page.find(:CSS,"li:first").click    endend

我更新了,现在我收到以下错误:

An invalID or illegal string was specifIEd (Selenium::WebDriver::Error::UnkNownError)  ./features/step_deFinitions/search_steps.rb:5:in `block (2 levels) in <top (required)>'  ./features/step_deFinitions/search_steps.rb:4:in `/^I search for (.*)$/'  features/search_frIEnd.feature:13:in `When I search for <term>'

这是黄瓜功能:

@JavaScriptScenario Outline: The search bar    Given I login    And I have a contact named ABC    And I have a contact named DEF    And I have a contact named GHI    When I search for <term>    Then I should see the message <message>    Examples:    | term | message |    | ... some examples ... | |
解决方法 我猜你不仅更新了Webdriver而且更新了Capybara.

Capybara 2.1 now uses driver’s implementation of CSS selectors.对于Selenium Webdriver,它意味着使用浏览器的实现. :第一个伪选择器不是标准的,浏览器不支持,因此您的css选择器无效.

之前它有用,因为Capybara使用Nokogiri将css选择器转换为XPath. Nokogiri支持:第一个伪选择器.

因此,您应该将无效的css选择器更改为有效的类似:

> page.first(:CSS,’li’).点击
> page.find(:CSS,’li’,match :: first).click(之前的变体与此变体之间的区别在于此变体等待元素出现在页面上,但第一个变量不等待. this section of Capybara README获取更多相关信息)> page.find(:CSS,“li:first-child”).点击> page.find(‘li:first-child’).点击

总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何从下拉列表中选择第一个元素.回报率/水豚/硒全部内容,希望文章能够帮你解决ruby-on-rails – 如何从下拉列表中选择第一个元素.回报率/水豚/硒所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1250320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存