約30個のスクリプト化されたテストケース(各テストケースはスクリプトです)を連続して実行していますが、指定された要素を識別できない、要素が存在しないなどの失敗が頻繁に発生します。
要素が表示されるのを待つために、すでに多くの異なるメソッドを追加しました。時々それが明らかにそこにあるとき、私はセレンが要素のIDを見つけるのに苦労していると思いますか?
私はいくつかを含めました
do{
if(selenium.isElementPresent("id=resultTable_0_0"){
selenium.click("viewResultForm:refresh_button");
}
}while (!selenium.isElementPresent("id=resultTable_0_0"));
と
if(selenium.isElementPresent("id=resultTable_0_0"))
selenium.isVisible("id=resultTable_0_0");
と
if(selenium.isElementPresent("id=resultTable_0_0_1_to"))
selenium.click("resultTable_0_0_1_to");
何かをする前に、要素が存在するかどうかを常にチェックします。これはおそらくパフォーマンスに大きな影響を与えますが、今のところ、スクリプトをエラーなしで完全に堅牢に実行したいだけです。私はこのコードを持っています:
do{
if(selenium.isElementPresent("id=resultTable_0_0")){
selenium.click("viewResultForm:refresh_button");
}
}while (!selenium.isElementPresent("id=resultTable_0_0"));
if(selenium.isElementPresent("id=resultTable_0_0"))
selenium.isVisible("id=resultTable_0_0");
if(selenium.isElementPresent("id=viewResultForm:currentDetailViewType"))
selenium.isVisible("id=viewResultForm:currentDetailViewType");
if(selenium.isElementPresent("id=viewResultForm:currentSearchDateType"))
selenium.isVisible("id=viewResultForm:currentSearchDateType");
if(selenium.isElementPresent("id=viewResultForm:currentLegalEntity"))
selenium.isVisible("id=viewResultForm:currentLegalEntity");
if(selenium.isElementPresent("id=viewResultForm:currentRollupBy"))
selenium.isVisible("id=viewResultForm:currentRollupBy");
if(selenium.isElementPresent("id=viewResultForm:currentSecurityAltId"))
selenium.isVisible("id=viewResultForm:currentSecurityAltId");
if(selenium.isElementPresent("id=viewResultForm:currentSecurityAltIdType"))
selenium.isVisible("id=viewResultForm:currentSecurityAltIdType");
if(selenium.isElementPresent("id=viewResultForm:currentDepoViewType"))
selenium.isVisible("id=viewResultForm:currentDepoViewType");
if(selenium.isElementPresent("id=viewResultForm:currentBusinessDate"))
selenium.isVisible("id=viewResultForm:currentBusinessDate");
System.out.println("Success T13001");
selenium.stop();
これでもエラーになります!!! そして、それはselenium.stopに到達し、成功を「偽造」するために失敗することはありません。スクリプトの堅牢性を強化するために何ができますか?どんな助けでもいただければ幸いです。
IE8でSelenium2.20.0を使用しています。