3

Web ページをテストするために、Watir-webdriver 0.6.1 で Cucumber 1.2.1 を実行しています。

ローカルではすべてのテストが正常に実行されますが、CI マシン (Jenkins) でそれらを起動しようとすると、javascript フォームに入力するときにタイムアウトが発生します。電子メールとパスワードのテキストフィールドがありますが、Cucumber では入力できません。数回、2 分後にメールのテキストフィールドだけが入力されました...

JavaScript フォームが正しく開きます。これはそれを開くリンクです:

`<a id="user_popup" class="textuser_popup" url="/en/bla/" href="javascript:void(0);" trackclick="click/unlogged/test/test/login" rel="nofollow"  gaclick="/en/bla/homepage/click:header-section>login">Sign in</a>`

フォームが読み込まれると、電子メールとパスワードのコードは次のようになります。

<ul class="signin">
<li class="reg_form">
<label class="reg_form_label">Your email</label>
<input id="yourEmail" class="l_email" type="text" value="" name="email">
</li>
<li class="password_area">
<label class="reg_form_label">Your password</label>
<input id="yourPassword" class="l_password" type="password" name="password">
</li>
</ul>

私は PageObject を使用していますが、ステップで要素を直接呼び出すこともできません。これは私がフィールドを埋める方法です:

@browser.text_field(:id, "yourEmail").set("email@domain.com")
@browser.text_field(:id, "yourPassword").set("thePass")

最後に、エラーは次のとおりです。

execution expired (Timeout::Error)
/usr/lib/ruby/1.8/timeout.rb:64:in `rbuf_fill'
/usr/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
/usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
/usr/lib/ruby/1.8/net/protocol.rb:126:in `readline'
/usr/lib/ruby/1.8/net/http.rb:2028:in `read_status_line'
/usr/lib/ruby/1.8/net/http.rb:2017:in `read_new'
/usr/lib/ruby/1.8/net/http.rb:1051:in `request'
/usr/lib/ruby/1.8/net/http.rb:1037:in `request'
/usr/lib/ruby/1.8/net/http.rb:543:in `start'
/usr/lib/ruby/1.8/net/http.rb:1035:in `request'

テストをローカルで起動すると、まったく問題なく動作します。リモートで実行しているときに失敗する理由がわかりません。リモート ブラウザ (通常はヘッドレス モードで実行されますが、実行を表示するために X11 セッションを開きました) は Firefox ESR 10.0.8 で、OS は CentOS です。

何が起こっているかについて何か提案はありますか?問題についてさらに詳しい情報が必要な場合は、質問してください。

どんなアドバイスも大歓迎です:)

4

1 に答える 1

1

私は同じ問題を抱えていました.env.rbファイルに次のコード行を追加しましたが、現在は正常に動作しています.

client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 300 # seconds – default is 60
$browser = Watir::Browser.new :firefox, :http_client => client
于 2012-10-19T14:00:45.823 に答える