私のチームと私は最近、Selenium Web Driver と JUnit を使用して自動化されたスクリプトの開発に取り組み始めました。私は問題に直面しており、文字通り、進め方についてのアイデアがありません。どんな提案も役に立ちます。
問題は次のとおりです。フォームに 2 つの Excel をアップロードし、送信ボタンを押してアップロードを確認するページがあります。
アップロードが完了すると、データベースにデータが入力され、次のページで各 Excel の行数が確認されます。
「ラベル」タイプのアップロードを確認する要素を取得しようとしています。
これはすべて、私のPC(Windows 7、Firefox Webdriver)でローカルに正常に機能します。
コードをアップロードし、ジェンキンスがそれをビルド/実行すると、「要素が見つかりません」というメッセージが表示され、テストが失敗します。
ジェンキンが実行するものに視覚的にアクセスできないため、要素の確認 (ジェンキンでは失敗) を に置き換えましたgetPageSource()
。
getPageSource()
検索しようとしている要素で表示されると予想されるページを返します(ローカルとジェンキンの両方で)。
何が起こっているのかについてのアイデアはありますか?
ノート:
10 秒の thread.sleep が 2 つあります。次のページがロードされ、Excel が正常に送信されたことを確認するために、各 Excel をアップロードするときに 1 つ、[送信] をクリックした後に 1 つ。
xpathを使用して要素を見つけようとします。実際、Firefox の Firebug と Chrome の Web 開発者から提供された xpath の両方を使用しました。xpathに問題がないことを確認するだけです。両方の xpath は、ローカル マシンでは要素を正常に見つけますが、ジェンキンでは失敗します。
テストを (ローカルおよび Jenkins で) 実行すると、データベースにデータが入力されていることがわかります。
コードがなくて申し訳ありませんが、共有できるものは限られています。