0

我对黄瓜自动化测试很陌生。当我第一次开始时,一位同事在我的电脑上为我设置了所有东西,并且(现在他已经走了)我遇到了一个我似乎无法弄清楚的问题。

我正在使用 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
4

1 回答 1

0

我不知道到底是什么修复了它,但是在听取了不同人的建议和意见后,我基本上卸载并重新安装了 wirr 几次。

我还更新了代码,去掉了“require 'rubygems'”并用 Watir::Browser.start 替换了 Watir::IE.start。

问题似乎是我使用的现有脚本是基于旧版本的 watir/cucumber/ruby,所以当我不得不重新安装所有东西时,这些脚本不再与新版本的所有东西兼容。

于 2013-07-10T20:23:18.787 回答