2017-11-27 7 views
0

私はWatirを使って自動化するjira復元プロセスに取り組んでいます。最初のステップはFFウィンドウを起動することでした。経由で達成しました:Watirでrubyを使用してJiraにログインできない

require "Watir" 
test_site="http://jira:8080" 
browser=Watir::Browser.new :firefox 
browser.goto test_site 

次に、Jiraにログインします。そして、これは私はそれが上の画像で

Jiralogin

を成し遂げることができません場合は、JIRAログインフォームからHTMLコードが共有されています。私はxpath、cssとカスタム属性を使って "input"属性にテキストを入力しようとしました。しかし、毎回私はのようなエラーを取得しています:

Watir::Exception::UnknownObjectException: timed out after 30 seconds, waiting for #<Watir::HTMLElement: located: false; {:xpath=>"//input[@id='#login-form-username.text.medium-field']"}> to be located. Maybe look in an iframe? 
+0

テキストフィールドエレメントの検索/設定に使用しているコードは何ですか?エラーメッセージには、 "//input[id='#login-form-username.text.medium-field ']"という非常に奇妙なXPathがあります。これは、CSSロケータとXPathの間のマッシュアップのようです。 –

+0

こんにちはJustin、jiraログインページが起動されると、デフォルトでコントロールはユーザー名とのテキストフィールドに入ります。だから、特定のコードを使用してテキストフィールドを検索/設定することはありません。 – Nishant

+0

要素がIFrame内にあるかどうかは、エラーが示唆したように見えましたか? – titusfortner

答えて

0

あなたがここでのXPathとCSSロケータを混合していて、どちらかの正しいCSSのパスを書いていません。完全なミックスは、あなたは、XPathで行きたい場合は、この

b.text_field(id: 'login-form-username').set 'content' 

を試してみてくださいまたは

、起こっている、あなたは、CSS、その後

b.text_field(css: "#login-form-username").set 'content' 

で移動する場合の

b.text_field(xpath: "//input[@id='login-form-username']").set 'content' 

あなたがIDを持っているときは、xpathとcssは必要でないことを覚えておいてください。要素を親ノードまたは隣接ノードから探し出す必要がある場合は、xpathを使用することもできますが、WATIRでは完全に不要であるため、WATIRは後続の単純な関数呼び出しを使用して正しい要素を特定します。

+0

お返事ありがとうございます。さて、私はあなたの提案された答えをすでに試しましたが、私はもう一度それに行きました。 battext_field(id: 'login-form-username')。 'content'を設定すると、以下のエラーが発生します: 'rescue in element_call ':30秒後にタイムアウトしました。# "login-form-username"、:tag_name => "input"}>を探します。おそらくiframeを見ていますか? (Watir :: Exception :: UnknownObjectException) – Nishant

関連する問題