最終編集:.isEmpty()
はその仕事をしたときに、それはelse
声明に行くために40秒を待っていただけで、私は40秒に私の暗黙の待ち時間を設定していたことに気づい。すべての助けに感謝します。要素が他にやるセレンにBを行う場合にはJavaの
問題は、if文に到達してそこにのみ置かれ、何もしないことです。 elementIdはifテストを削除すると、両方のコードが動作するように動作します。私が試してみました一つの方法:
if(!driver.findElement(By.id(elementId)).isDisplayed()){
driver.findElement(By.id(downloadId)).click();
TimeUnit.SECONDS.sleep(7);
}else{
CenterOnClick.testFail(elementId , driver);
FailScreenShot.test(caseId, driver, targetNumberCell);
}
別の方法:(フィナーレ編集:この1つは、この問題のために働く)
if(driver.findElements(By.id(elementId)).isEmpty()){ //also used .size() > 0
driver.findElement(By.id(downloadId)).click();
TimeUnit.SECONDS.sleep(7);
}else{
CenterOnClick.testFail(elementId , driver);
FailScreenShot.test(caseId, driver, targetNumberCell);
}
は私も周りに切り替える事を試してみました。クリックしようとしているボタンは、1か月に2回以上ファイルをダウンロードしていない場合にのみ使用できます。その後、エラーメッセージが表示されます。奇妙なことは、コードを次のように変更した場合です。
if(driver.findElement(By.id(elementId)).isDisplayed()){
CenterOnClick.testFail(elementId , driver);
FailScreenShot.test(caseId, driver, targetNumberCell);
}else{
driver.findElement(By.id(downloadId)).click();
TimeUnit.SECONDS.sleep(7);
}
エラーメッセージが表示されている場合のみ動作します。ボタンがあれば、まだそこに座るだけです。私がこれ以上16時間以上働いていたので、どんな助けでも大いに感謝します。おかげさまで
編集:私の問題は私のコードよりもウェブサイトと関連があると思っています。
'IF(driver.findElements(By.id(ELEMENTID))のisEmpty()){//も使用.size()> 0 driver.findElement(By.id(downloadId))。クリック(); TimeUnit.SECONDS.sleep(7); '2番目のステップで試行されました。まだ何もしません。これでボタンはクリックされましたが、エラーメッセージが表示された場合は何もしません。 – Gingja