51Testing软件测试论坛

标题: 第二次设置 pageLoadTimeout 后超时时间没有起作用的怪异问题,求解? [打印本页]

作者: laoshan    时间: 2016-11-3 16:18
标题: 第二次设置 pageLoadTimeout 后超时时间没有起作用的怪异问题,求解?
本帖最后由 laoshan 于 2016-11-3 16:20 编辑

设置两次pageLoadTimeout方法,第二次设置没有生效,啥子原因呢?

  1. public class TestPageLoadTimeout {

  2.         public static void main(String[] args){
  3.                 WebDriver driver = new FirefoxDriver();
  4.                
  5.                 try {
  6.                         // 这次设置的1秒超时有效
  7.                         driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
  8.                         driver.get("http://www.163.com");
  9.                 } catch (Exception e) {
  10.                         System.out.println("163 Catch TimeOut !!");
  11.                 } finally {
  12.                         try{
  13.                                 // 这次设置的超时10秒没有生效,sohu页面直接1秒后在finally中杀掉进程了
  14.                                 driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
  15.                                 driver.get("http://www.sohu.com");
  16.                         } catch (Exception e){
  17.                                 System.out.println("sohu Catch TimeOut !!");
  18.                         } finally{
  19.                                 WindowsUtils.tryToKillByName("firefox.exe");
  20.                         }
  21.                 }
  22.         }
  23. }
复制代码

作者: laoshan    时间: 2016-11-3 17:02
这么干就成功了

  1.        
  2.         public static void main(String[] args) {
  3.                 WebDriver driver = new FirefoxDriver();
  4.                 // 此1秒设置超时生效
  5.                 driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
  6.                 try {
  7.                         driver.get("http://www.163.com");
  8.                 } catch (Exception e) {
  9.                         System.out.println("aaa");
  10.                 }
  11.                
  12.                 System.out.println("bbbbbbbbbbbbb");
  13.                 // 此30秒设置超时也可以生效
  14.                 driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
  15.                 driver.findElement(By.linkText("财经")).click();
  16.         }
复制代码

作者: laoshan    时间: 2016-11-3 17:03
这次设置就成功了

  1.        
  2.         public static void main(String[] args) {
  3.                 WebDriver driver = new FirefoxDriver();
  4.                 // 此1秒设置超时生效
  5.                 driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
  6.                 try {
  7.                         driver.get("http://www.163.com");
  8.                 } catch (Exception e) {
  9.                         System.out.println("aaa");
  10.                 }
  11.                
  12.                 System.out.println("bbbbbbbbbbbbb");
  13.                 // 此30秒设置超时也可以生效
  14.                 driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
  15.                 driver.findElement(By.linkText("财经")).click();
  16.         }
复制代码





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2