【java+selenium3】线程休眠方法 (六)
一、线程休眠的方法 Thread -- sleep
调用方式: Thread.sleep(long millis)
建议:不推荐使用此方式来等待,因为元素的实际渲染时间未知,长时间的等待则浪费的时间,短时间又获取不到元素.
//线程休眠3秒中(毫秒)
Thread.sleep(3000);
二、TimeOuts -- pageLoadTimeOut
设置页面加载的超时时间,页面在指定时间内未完成加载,就会抛出异常。
调用方法:driver.manage().timeouts().pageLoadTimeout(long time, TimeUnit unit);
使用场景:测试页面加载速度,测试页面加载的性能!
package cn.test;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; public class Test02{
/**
* 例如:我们需要设置在2秒内加载某个页面,如果加载不出来则认为是性能问题!
* 测试微博页面加载的性能,要求2秒钟加载完成
*/
public static void main(String[] args) {
WebDriver driver =null;
try {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
//设置页面加载超时时间为2秒,TimeUnit.SECONDS 枚举类型,指定时间单位!
driver.manage().timeouts().pageLoadTimeout(2, TimeUnit.SECONDS);
//访问微博
driver.get("https://weibo.com/");
} catch (Exception e) {
e.printStackTrace();
}finally {
driver.quit();
}
}
}
如果性能未达标的话,代码执行就会抛出超时异常!

未完待续。。。
【java+selenium3】线程休眠方法 (六)的更多相关文章
- java笔记--线程休眠sleep()的运用
线程休眠sleep()方法的运用 在多线程编程中,有时需要让某个线程优先执行.除了可以设置这个线程的优先级为最高外,更加理想的方法是休眠其他线程,若有线程中断了正在休眠的线程,则抛出Interrupt ...
- java创建线程的方法
1.1 创建线程 1.1.1 无返回值的线程创建 package com.first; public class ThreadTest { public static void ma ...
- 关于java中线程休眠的另一种写法
编辑器加载中... 优先使用TimeUnit类中的sleep() TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的 ...
- Java 创建线程的方法
为了偷懒少敲几个字这里我写了一个Util类: package test; public class Util { static void println() {System.out.println() ...
- 外部线程停止Java子线程的方法
一.Thread.stop()官方不推荐,Because it is inherently unsafe. 二.方式一1. 线程类示例 public class ThreadT1 implements ...
- 201871010128-杨丽霞《面向对象程序设计(java)》第十六周学习总结
201871010128-杨丽霞<面向对象程序设计(java)>第十六周学习总结(1分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-dai ...
- Java编程思想学习(十六) 并发编程
线程是进程中一个任务控制流序列,由于进程的创建和销毁需要销毁大量的资源,而多个线程之间可以共享进程数据,因此多线程是并发编程的基础. 多核心CPU可以真正实现多个任务并行执行,单核心CPU程序其实不是 ...
- Java子线程中的异常处理(通用)
在普通的单线程程序中,捕获异常只需要通过try ... catch ... finally ...代码块就可以了.那么,在并发情况下,比如在父线程中启动了子线程,如何正确捕获子线程中的异常,从而进行相 ...
- “全栈2019”Java多线程第六章:中断线程interrupt()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
随机推荐
- 网络IO模型与Reactor模式
一.三种网络IO模型: 分类: BIO 同步的.阻塞式 IO NIO 同步的.非阻塞式 IO AIO 异步非阻塞式 IO 阻塞和同步的概念: 阻塞:若读写未完成,调用读写的线程一直等待 非阻塞:若读写 ...
- 代码扫描利器sonarqube
sonar的作用 1.代码质量和安全扫描和分析平台. 2.多维度分析代码:代码量.安全隐患.编写规范隐患.重复度.复杂度.代码增量.测试覆盖率等. 3.支持25+编程语言的代码扫描口分析,包含java ...
- [转载]CentOS 下安装LEMP服务(Nginx、MariaDB/MySQL和PHP)
LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用.正如其名称所暗示的, LEMP 包是由 Linux.nginx.MariaDB/MySQL 和 P ...
- 10.10 Rewrite 实战
将baidu.com跳转到www.baidu.com server { listen 80; server_name baidu.com; rewrite ^/ http://www.baidu.co ...
- WIN10下的VMware与Docker冲突的解决方案
VMARE版本升级到15.5以上 WIN10升级到2004版本以上 Hyper-V为开启状态
- 告别Vuex,发挥compositionAPI的优势,打造Vue3专用的轻量级状态
Vuex 的遗憾 Vuex 是基于 Vue2 的 option API 设计的,因为 optionAPI 的一些先天问题,所以导致 Vuex 不得不用各种方式来补救,于是就出现了 getter.mut ...
- python T1119紧急措施
2021-10-18 题目: 近日,一些热门网站遭受黑客入侵,这些网站的账号.密码及 email 的数据惨遭泄露.你在这些网站上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的 emai ...
- Visual Studio Debug only user code with Just My Code
Debug only user code with Just My Code By default, the debugger skips over non-user code (if you wan ...
- 二、Ansible基础之模块篇
目录 1. Ansible Ad-Hoc 命令 1.1 命令格式 1.2 模块类型 1.3 联机帮助 1.3.1 常用帮助参数 1.4 常用模块 1.4.1 command & shell 模 ...
- 一站式交付体验:云效+Kubernetes
背景 云效依托于阿里巴巴研发效能多年规模化持续交付,赋能云上开发者专为云端用户提供的一站式研发协作平台.Kubernetes,由Google开源的容器集群管理平台,面向运维侧提供自动化的集群和应用管理 ...