- 浏览: 166849 次
- 性别:
- 来自: 河北
文章分类
- 全部博客 (142)
- Java (15)
- 编程 (7)
- 操作系统 (4)
- 晴天夜雨 (3)
- 点点滴滴 (16)
- 数据库 (13)
- 测试 (14)
- eclipse (0)
- English study (9)
- 书虫-牛津英汉对照读物(第一级) (7)
- Web笔记 (2)
- 自动化 (2)
- SoapUi (0)
- Jmeter (5)
- Selenium 自动化测试 (21)
- TestNG (7)
- Bug (1)
- REST API (1)
- cURL (1)
- Junit (2)
- 接口测试 (1)
- OWASP (5)
- Python+Robot Framework+Selenium2Library (1)
- Python (0)
- 测试框架 (0)
- Jenkins (0)
- 测试用例 (1)
- 娱乐 (0)
- 驾照 (0)
- Pytest (1)
- git (0)
- Python笔记 (1)
最新评论
-
wuchunjiesp:
...
Project facet Java version 6.0 is not supported. -
天堂有行:
swanky_yao 写道启动:net start mysql ...
mysql编程常用 -
swanky_yao:
启动:net start mysql中止:$MySQL_HOM ...
mysql编程常用 -
天堂有行:
天堂有行 写道fixsmall 写道Mysql insert ...
mysql编程常用 -
天堂有行:
fixsmall 写道Mysql insert 还有一个 i ...
mysql编程常用
等待是在执行自动化任务一段时间后才继续下一步。
显示等待
一个显示等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。最坏的一个例子当属Thread.sleep(),它用一段明确的等待时间作为条件。WebDriver有一些方便的方法可以帮助你写出按需等待的代码。WebDriverWait结合ExpectedCondition便是其中一种。
java
csharp
python
ruby
这段代码会等待10秒直到抛出TimeoutException或者它找到了相关Element,在0-10秒返回该Element。默认情况下,WebDriverWait每500ms调用一次ExpectedCondition直到其成功返回。对于Boolean类型的ExpectedCondition而言,表示成功的返回值是true,而对于所有其他类型的ExpectedCondition而言则是非空返回值。
本例与第一个隐式等待 例子在功能上是等价的.
Expected Conditions
在自动化web浏览器时有一些常用的条件。下面列出了每个条件的实现。Java恰巧有方便的方法,因此您不需要自己编写一个ExpectedCondition类或为它们创建自己的实用程序包。
元素可点击–元素已显示并且可用。
java
python
ExpectedConditions包 (Java) (Python) (.NET) 含有一组可同WebDriverWait一同使用的预定义条件。
隐式等待
隐式等待使得WebDriver在查找一个Element或者Element数组时,每隔一段特定的时间就会轮询一次DOM,如果Element或数组没有马上被发现的话。默认设置是0。一旦设置,这个隐式等待会在WebDriver对象实例的整个生命周期起作用。
java
csharp
python
ruby
显示等待
一个显示等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。最坏的一个例子当属Thread.sleep(),它用一段明确的等待时间作为条件。WebDriver有一些方便的方法可以帮助你写出按需等待的代码。WebDriverWait结合ExpectedCondition便是其中一种。
java
WebDriver driver = new FirefoxDriver(); driver.get("http://somedomain/url_that_delays_loading"); WebElement myDynamicElement = (new WebDriverWait(driver, 10)) .until(ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));
csharp
IWebDriver driver = new FirefoxDriver(); driver.Url = "http://somedomain/url_that_delays_loading"; WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); IWebElement myDynamicElement = wait.Until<IWebElement>((d) => { return d.FindElement(By.Id("someDynamicElement")); });
python
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0 from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0 ff = webdriver.Firefox() ff.get("http://somedomain/url_that_delays_loading") try: element = WebDriverWait(ff, 10).until(EC.presence_of_element_located((By.ID, "myDynamicElement"))) finally: ff.quit()
ruby
require 'rubygems' # not required for ruby 1.9 or if you installed without gem require 'selenium-webdriver' driver = Selenium::WebDriver.for :firefox driver.get "http://somedomain/url_that_delays_loading" wait = Selenium::WebDriver::Wait.new(:timeout => 10) # seconds begin element = wait.until { driver.find_element(:id => "some-dynamic-element") } ensure driver.quit end
这段代码会等待10秒直到抛出TimeoutException或者它找到了相关Element,在0-10秒返回该Element。默认情况下,WebDriverWait每500ms调用一次ExpectedCondition直到其成功返回。对于Boolean类型的ExpectedCondition而言,表示成功的返回值是true,而对于所有其他类型的ExpectedCondition而言则是非空返回值。
本例与第一个隐式等待 例子在功能上是等价的.
Expected Conditions
在自动化web浏览器时有一些常用的条件。下面列出了每个条件的实现。Java恰巧有方便的方法,因此您不需要自己编写一个ExpectedCondition类或为它们创建自己的实用程序包。
元素可点击–元素已显示并且可用。
java
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
python
from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 10) element = wait.until(EC.element_to_be_clickable((By.Id,'someid')))
ExpectedConditions包 (Java) (Python) (.NET) 含有一组可同WebDriverWait一同使用的预定义条件。
隐式等待
隐式等待使得WebDriver在查找一个Element或者Element数组时,每隔一段特定的时间就会轮询一次DOM,如果Element或数组没有马上被发现的话。默认设置是0。一旦设置,这个隐式等待会在WebDriver对象实例的整个生命周期起作用。
java
WebDriver driver = new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get("http://somedomain/url_that_delays_loading"); WebElement myDynamicElement = driver.findElement(By.id("myDynamicElement"));
csharp
WebDriver driver = new FirefoxDriver(); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); driver.Url = "http://somedomain/url_that_delays_loading"; IWebElement myDynamicElement = driver.FindElement(By.Id("someDynamicElement"));
python
from selenium import webdriver ff = webdriver.Firefox() ff.implicitly_wait(10) # seconds ff.get("http://somedomain/url_that_delays_loading") myDynamicElement = ff.find_element_by_id("myDynamicElement")
ruby
require 'rubygems' # not required for ruby 1.9 or if you installed without gem require 'selenium-webdriver' driver = Selenium::WebDriver.for :firefox driver.manage.timeouts.implicit_wait = 10 # seconds driver.get "http://somedomain/url_that_delays_loading" element = driver.find_element(:id => "some-dynamic-element")
发表评论
-
数据驱动
2016-07-26 11:10 583相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为进行 ... -
对下拉框进行操作
2014-07-22 17:40 679对下拉框进行操作时首先要定位到这个下拉框,new 一个Selc ... -
testng.xml的格式
2014-07-21 09:39 1213简单说明: 测试代码 ... -
定位页面表格和单元格
2014-04-25 13:05 905在处理表格时,我们可 ... -
JQuery选择器
2014-04-22 10:31 0juqery选择器是jquery库中非常重要的功能。jquer ... -
日志记录
2014-04-25 13:06 601日志记录可结合上一专题的报告共同生成,日志中可记录自动化测试过 ... -
报告生成
2014-04-25 13:06 598一般我们写的脚本可能覆盖了较多的测试项,而且可能持续运行了一段 ... -
XPATH定位
2014-04-22 10:02 1347XPATH是一门在XML文档中 ... -
CSS选择器定位元素详解
2014-04-22 09:58 1586CSS是一种用来表现HTML(标准通用标记语言的一个应用)或X ... -
元素定位
2014-04-22 09:54 574Selenium WebDriver提供一个先进的技术来定位w ... -
XPATH定位
2014-04-21 16:00 0XPATH是一门在XML文档中 ... -
截屏功能
2014-04-25 13:07 5511、使用webdriver封装的API函数截图 //截屏功能, ... -
数据驱动-property
2014-04-21 15:23 0把参数什么的都放在property文件中,然后用Resourc ... -
数据驱动- Junit直接自带关键字驱动
2014-04-21 15:22 0数据驱动- Junit直接自带关键字驱动 -
数据驱动-Excel
2014-04-22 10:21 1195我们在页面的测试中,会发现很多输入框的测试,这些输入框中我们需 ... -
设计自动化测试数据
2014-04-21 15:04 0在之前的测试过程中,测试的数据都是不变的,想换一组测试数据会相 ... -
编写自动化测试代码
2014-04-21 14:46 0在设计文档(也就是自动化测试用例)完成后,就可以开始正式编码了 ... -
设计自动化测试用例
2014-04-21 14:28 0在自动化测试的流程中,需要先设计才能进行正式编码。设计文档一般 ... -
5.11 为测试操作添加事件
2014-04-21 14:23 0如果想要在执行测试操 ... -
5.10 设置管理
2014-04-21 14:12 0在Selenium 2中,可以通过Options对象对测试进行 ...
相关推荐
讲述了WebDriver-xpath和WebDriver-Css的学习摘要笔记,对于初学者还是很有用的,我也是转载的
3.2.10 Windows 和 Frames之间的切换 12 3.2.11 拖拉(Drag andDrop) 12 3.2.12 导航 (Navigationand History) 13 3.3 高级使用 13 3.3.1 改变user agent 13 3.3.2 读取Cookies 13 3.3.3 调用Java Script 14 ...
下载后放入python安装的根目录 from selenium import webdriver import time driver=webdriver.Ie() driver.get("http://www.baidu.com")
Selenium 的chrome和 火狐 webdriver, windows及linux版本,附官方下载链接
webdriver安装包
IE Webdriver Python
本书是一本从入门到精通模式的Selenium WebDriver实战经验分享书籍。全书共分为四个部分:第1部分基础篇主要讲解自动化测试...第4部分为常见问题和姐解决办法,讲解了WebDriver使用过程中的常见疑难问题和解决办法。
selenium RC与selenium webdriver的区别
Selenium 2.0 和webdriver之间有什么关系,有什么不可告人的秘密?说来话长,但也简单。Selenium 2.0其实就是webdriver。就像张飞就是张翼德,关羽就是关云长一样,叫法不同但内容却是一样的。 安装selenium ...
WebDriver实验版VB6版WebDriver实验,压缩包中有技术文档《WebDriver原理及实验》
php-webdriver-bindings这个PHP库允许创建功能测试与PHP webdriver
Selenium WebDriver详解及事例
webdriver-helper安装包,whl版本
Selenium WebDriver Practical Guide will guide you through the various APIs of WebDriver which should be used in automation tests, followed by a discussion of the various WebDriver implementations ...
WebDriver命令参考手册
webdriver 数据驱动 webdriver 数据驱动webdriver 数据驱动webdriver 数据驱动webdriver 数据驱动webdriver 数据驱动
调用webdriver打开网页
ruby2.0.0+selenium-webdriver+watir-webdriver+rails离线备份,设置环境变量后可使用(未测试)
Selenium 2 WebDriver 初级视频教程(三) 介绍webdriver 框架中的两个重要接口, WebDriver和WebElement, 其操作是使用WebDriver框架实现自动化测试的基础
webdriver 兼容新测试 源码