2013-01-05 46 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是做什么的,所以我不能告诉你为什么事情会变慢,如果你在这个方法里面慢下来,你将不得不提供代码以获得更多的帮助。