我对黄瓜自动化测试很陌生。当我第一次开始时,一位同事在我的电脑上为我设置了所有东西,并且(现在他已经走了)我遇到了一个我似乎无法弄清楚的问题。
我正在使用 cucumber 来测试一个 Web 应用程序。过去我运行脚本时,会弹出一个 Internet Explorer,我可以看到正在执行的脚本的每一行。
我最近不得不重新安装 cucumber、ruby、watir 等,并且不再弹出 Internet Explorer 屏幕。
我安装了 Ruby 1.9.3、黄瓜(gem install cucumber)、watir(gem install watir)。我错过了什么吗?它是一个额外的插件吗?脚本仍在运行。然而,运行一个 320 步脚本而不是说 1 分钟 +,现在需要 1.5 秒。没有错误消息。从命令窗口运行时,它看起来就像只是滚动浏览脚本而不是遍历每个步骤。
弹出屏幕到底叫什么?剧情画面?输出画面?
我在谷歌上查找它真的很困难,因为我不知道如何引用那个屏幕。
任何帮助表示赞赏。我意识到我可能没有很好地描述这个问题。只需发表评论,我可以尝试进一步澄清。
Feature:
'To go to a webpage'
Scenario:
# ----------
# GO TO PAGE
# ----------
Given that I have gone to the Login page at "url"
#
# ----------
# LOG IN
# ----------
When I add "username" to the Username
When I add "password" to the Password
And click the Login button
Then "Welcome" should be mentioned on the page
脚本定义:
require "rubygems"
require "watir"
puts "Browser is running..."
END {
puts "Closing browser..."
}
BEGIN {
puts "Starting browser..."
}
Given /^that I have gone to the Login page at "(.*)"$/ do |item|
@browser = Watir::IE.start(item)
lnk_found = 0
@browser.links.each do |lnk|
if lnk.id.to_s.matches("overridelink")
lnk_found += 1
end
end
if lnk_found > 0
@browser.link(:id, "overridelink").click
end
# puts "Watir Version: #{Watir::IE::VERSION}"
@browser.maximize
end
#
#
#
When /^I add "(.*)" to the Username$/ do |item|
@browser.text_field(:name, "loginName").set(item)
end
#
#
When /^I add "(.*)" to the Password$/ do |item|
@browser.text_field(:name, "passwd").set(item)
end
#
#
#
Then /^"(.*)" should be mentioned on the page$/ do |item|
if @browser.text.include?(item)
# puts "TEST PASSED. FOUND >#{item}<"
else
puts "*** TEST FAILED ***. >#{item}< was not found."
end
end
目录结构
Cucumber
Testing
lib
login.rb
login.feature