0

私はきゅうりの自動テストにかなり慣れていません。私が最初に始めたとき、同僚が私のコンピューターですべてをセットアップしてくれましたが、(彼がいなくなった今) 私には理解できない問題に遭遇しました。

キュウリを使用して Web アプリケーションをテストしています。以前は、スクリプトを実行すると Internet Explorer がポップアップし、スクリプトの各行が実行されていることがわかりました。

最近、cucumber、ruby、watir などを再インストールする必要があり、そのインターネット エクスプローラーの画面が表示されなくなりました。

Ruby 1.9.3、cucumber (gem install cucumber)、watir (gem install watir) をインストールしました。何か不足していますか?エクストラプラグインですか?スクリプトは引き続き実行されます。ただし、320 ステップのスクリプトを実行するのに 1 分以上かかるのではなく、1.5 秒かかります。エラー メッセージはありません。コマンド ウィンドウから実行すると、文字通り、各ステップを実行するのではなく、スクリプトをスクロールしただけのように見えました。

とにかくポップアップ画面は何と呼ばれていますか?シナリオ画面?出力画面?

その画面を参照する方法がわからなかったので、Googleで検索するのは非常に困難でした。

どんな助けでも大歓迎です。問題を十分に説明できていなかった可能性があることに気付きました。コメントを残していただければ、さらに明確にすることができます。


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

何が正確に修正されたのかはわかりませんが、さまざまな人から提案やアドバイスを受けた後、基本的にwatirを数回アンインストールして再インストールしました。

コードも更新し、「require 'rubygems'」を削除し、Watir::IE.start を Watir::Browser.start に置き換えました。

問題は、私が使用した既存のスクリプトが古いバージョンの watir/cucumber/ruby に基づいていたため、すべてを再インストールする必要があったときに、スクリプトがすべての新しいバージョンと互換性がなくなったことにあるようです。

于 2013-07-10T20:23:18.787 に答える