51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1689|回复: 2
打印 上一主题 下一主题

第二次设置 pageLoadTimeout 后超时时间没有起作用的怪异问题,求解?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-11-3 16:18:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 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. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2016-11-3 17:03:44 | 只看该作者
这次设置就成功了

  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.         }
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2016-11-3 17:02:38 | 只看该作者
这么干就成功了

  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.         }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 01:53 , Processed in 0.065821 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表