Selenium Java スクリプトはローカルでは問題なく動作していますが、ジェンキンでは失敗します。例えば:
driver.findElement(By.xpath("//div[@id='IDName']")).click();//loads a new page
driver.findElement(By.xpath("//div[@id='TextBox']"))).sendKeys("xyz");
ジェンキンスでこのようなスクリプトを実行すると、エラーが発生しUnable to locate element: "//div[@id='TextBox']"
ます。しかし、ジェンキンスで同じスクリプトを再度実行すると、渡されます。これは、ページが正しく読み込まれていないことが原因であることは理解できます。基本クラスで次のコマンドを使用しています。
driver.manage().timeouts().implicitlyWait(_TIMEOUT, TimeUnit.SECONDS);//_TIMEOUT = 50;
Thread.sleep()
click と sendkeys の行の間にorを追加することはできdriver.wait()
ますが、600 以上のスクリプトを実行する必要があるため、それは良い考えではないと思います。