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 分钟,然后继续执行其余的功能。但是,如果我注释掉 Boolean tosDisplayed 声明,它还会在挂起其余代码之前打印“1.d.ii”。最终,测试完成,但时间太长了。我的 WebDriver 有问题吗?如果我可以提供更多详细信息,请告诉我。

4

2 回答 2

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 回答
0

我想你会发现下面这行给你带来了问题:

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

列表(这是 driver.findElements() 返回的)的大小永远不会小于 0。

如果您在到达 if 语句时评论我们的布尔定义,则布尔值不存在,所以我预计它会在那时爆炸。

我不知道 SureClick 做了什么,所以如果您在该方法中也变慢,我无法告诉您为什么事情会变慢,您必须为其提供代码才能获得更多帮助。

于 2013-02-22T16:45:45.283 回答