0

私は Ruby を初めて使用し、現在、動作テスト ケースを .NET で記述した Java プロジェクトに取り組んでいますruby(CUCUMBER BDD)。プロジェクトをビルドしようとすると、TeamCity6 つのテスト ケースの失敗が表示されます。

"Watir::Exception::NoMatchingWindowFoundException: Unable to locate window,"

また

"Spec::Expectations::ExpectationNotMetError:"

エラー。これらのテスト ケースに変更は加えられていません。

これは私のenv.rbファイルです..ここで何かを変更する必要があります.

require 'watir'
require 'open-uri'
require 'spec'
require 'win32ole'
require 'rake'
require 'cucumber/rake/task'
require 'net/http'
require 'uri'
require 'mysql'
require 'active_record'
require 'features/db/mysqldb'
require 'features/db/order'
require 'features/db/listener_state'

def clear_all_mock_requests
  open 'http://xxxxxx:8080/httpmockserver/soapResponse!clearAllRequests.action'
end

Mysqldb.connect("xxx", "xxx", "xx", "xxx", "xxxxx")


clear_all_mock_requests()

Watir::Browser.default = ENV['browser'] == 'firefox' ? 'firefox' : 'ie'
#Watir::Browser.default = 'firefox'

BROWSER = Watir::Browser.new

WIN32OLE.class_eval do ||

  def visible?;
    return false if self.style.invoke('display').downcase == 'none';
    return true;
  end

  def type
    {:text_field=>'text', :radio=>'radio', :select_list => 'select-one', :checkbox => 'checkbox'}.each do |method, name|
      return name if BROWSER.method(method).call(:name, self.name).exist?
    end
    return nil
  end

  def exist?
    return true
  end
end

NilClass.class_eval do ||
  def exist?
    return false
  end
end


at_exit do
  BROWSER.close
end
4

1 に答える 1

0

Watir::Exception::NoMatchingWindowFoundException: Unable to locate window通常、存在しないブラウザにラッチしようとしていることを意味します。機能を確認してくださいbrowser.open

于 2013-03-13T14:26:19.377 に答える