我用红宝石和硒黄瓜。 下面是场景,我需要检查这个元素没有 在页面上我一步黄瓜红宝石硒开始救援
Step file:
begin
expect(checkout_page.city_acctdetails.displayed?).to eql false
rescue Selenium::WebDriver::Error::NoSuchElementError
puts "City dropdown is not present"
false
end
它就像一个魅力之内做这样。 当我尝试在另一个文件/帮手
RubyHelper.rb file
def self.not_present(locator)
begin
locator.displayed?
rescue Selenium::WebDriver::Error::NoSuchElementError
puts "Not present"
false
end
end
所以把为方法,当我在黄瓜步骤的文件来执行类似
RubyHelper.not_present(checkout_page.city_acctdetails)
我得到错误: 找不到元素:{ }(硒:: webdriver的::错误:: NoSuchElementError)
需要声明:
#BDD framework that makes feature files running
require 'cucumber'
#Control remote browsers
require 'selenium-webdriver'
#Run tests in parallel
require 'parallel_tests'
#Use expect().to for verifying result
require 'rspec'
#Key value format for storing text data
require 'yaml'
不挑剔,但是如果异常被触发,你不想要not_present返回true吗?你不想在locator.displayed之后错误吗? ?处理负面情况非常有趣。这就是我坚持积极的原因。你的需求在你的帮助文件中看起来像什么? – MikeJRamsey56
@ MikeJRamsey56因为取决于场景,我可能有元素存在与否,所以我正在对元素不存在进行评估,因为我期待如此 – Vanatomas
Vanatomas你知道你的意思。但读过它的其他人无法访问您的头像。他们所拥有的只是他们阅读的内容。在六个星期里,你可能不记得你的意图。我已经学会了写简单,避免消极,并有方法意味着他们说什么。只是友好的建议。 – MikeJRamsey56