1

関数の一部が次のように読み取られるSeleniumテストがあります。

try {
     System.out.println("1.d.i");
     Boolean tosDisplayed = driver.findElements(By.id("tos-acceptance")).size()<0; 

     System.out.println("1.d.ii");                      
     if(tosDisplayed){
          SureClick(By.id("tos-acceptance"));
          SureClick(By.xpath("html/body/div[2]/button[1]"));
     }
}

「1.di」を出力すると、残りの機能に移る前に WebDriver が約 5 分間ハングします。ただし、ブール値の tosDisplayed 宣言をコメント アウトすると、コードの残りの部分にぶら下がる前に「1.d.ii」も出力されます。最終的にテストは完了しますが、時間がかかりすぎます。WebDriver に何か問題がありますか? 私が提供できる詳細があれば教えてください。

4

2 に答える 2

0

次の行が問題を引き起こしていることがわかると思います。

Boolean tosDisplayed = driver.findElements(By.id("tos-acceptance")).size()<0;

リスト(driver.findElements()が返すもの)のサイズが0未満になることはありません。

ifステートメントに到達したときにブール値の定義にコメントすると、ブール値は存在しないため、その時点で爆発することが予想されます。

SureClickが何をするのかわからないので、そのメソッド内でも速度が低下している場合に、なぜ速度が遅くなるのかわかりません。さらにヘルプを得るには、コードを提供する必要があります。

于 2013-02-22T16:45:45.283 に答える
0
try to use Logger.
e.g. 

    import org.junit.Test;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;

    public class QCEditTestCaseTest extends  BaseSeleniumTest {


            private Logger log = LoggerFactory.getLogger(QCEditTestCaseTest.class);
            @Test
            public void prerequisitesFilling(){

            //blablabla
            // your code here
            //blablabla
             log.info(any info);
//             log.error(any errors catched by try-catch block);
            }
        }

これがあなたにとってより良いものになることを願っています。

于 2013-01-05T14:44:45.130 に答える