2013-01-05 61 views
1

我有一個Selenium測試,其中的部分功能如下: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有問題嗎?請讓我知道,如果有更多的細節,我可以提供。

回答

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); 
      } 
     } 

希望這對你更好。

0

我想你會發現下面的行導致您的問題:

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

列表(這是什麼driver.findElements()返回)將永遠不會有一個尺寸小於0.1

如果您在到達if語句時評論我們的布爾定義,則布爾值不存在,因此我期望它在此時爆炸。

我不知道SureClick是做什麼的,所以我不能告訴你爲什麼事情會變慢,如果你在這個方法裏面慢下來,你將不得不提供代碼以獲得更多的幫助。