WebDriver提供了两种类型的等待:显式等待和隐式等待. 1.显示等待 WebDriver提供了显式等待方法,专门针对某个元素进行等待判断. import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.sel…
参考:http://www.testclass.net/selenium_java/ 一共分为二十个部分:环境安装之Java.环境安装之IntelliJ IDEA.环境安装之selenium.selenium3浏览器驱动.selenium元素定位.控制浏览器操作.WebDriver常用方法.模拟鼠标操作.模拟键盘操作.获取断言信息.设置元素等待.定位一组元素.多表单切换.多窗口切换.下拉框选择.警告框处理.文件上传.浏览器cookie操作.调用JavaScript代码.获取窗口截屏: (一)环境…
前面我们已经学习了定位元素, 定位只是第一步, 定位之后需要对这个元素进行操作, 或单击(按钮) 或 输入(输入框) , 下面就来认识这些最常用的方法. 1.WebDriver 常用方法 下面先来认识 WebDriver 中最常用的几个方法: clear() 清除文本. sendKeys(*value) 模拟按键输入. click() 单击元素 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import…
1.selenium定位方法 Selenium提供了8种定位方式. id name class name tag name link text partial link text xpath css selector 这8种定位方式在Java selenium中所对应的方法为: findElement(By.id()) findElement(By.name()) findElement(By.className()) findElement(By.tagName()) findElement(…
自动化用例是由程序去执行,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因. WebDriver提供了截图函数getScreenshotAs()来截取当前窗口. import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; im…
虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法.在这种情况下,就可以借助JavaScript来控制浏览器的滚动条.WebDriver提供了executeScript()方法来执行JavaScript代码. 用于调整浏览器滚动条位置的JavaScript代码如下: <!-- window.scrollTo(左边距,上边距); --> window.scrollTo(0,450); window.scrollTo()方法用于设置浏览器窗口滚动条的…
有时候我们需要验证浏览器中Cookie是否正确, 因为基于真实Cookie的测试是无法通过白盒测试和集成测试进行的.WebDriver提供了操作Cookie的相关方法可以读取. 添加和删除Cookie信息. WebDriver 操作Cookie的方法: getCookies() 获得所有 cookie 信息. getCookieNamed(String name) 返回字典的key为"name"的Cookie信息. addCookie(cookie dict) 添加Cookie.&qu…
对于通过input标签实现的上传功能,可以将其看作是一个输入框,即通过sendKeys()指定本地文件路径的方式实现文件上传. 创建upfile.html文件,代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>upload_file</title> <link…
在页面操作过程中有时候点击某个链接会弹出新的窗口, 这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换. 以百度首页和百度注册页为例,在两个窗口之间的切换如下图. 实现窗口切换的代码如下: import java.util.Set; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.se…
在第(五)节我们已经学习了8种定位方法, 那8种定位方法是针对单个元素定位的, WebDriver还提供了另外8种用于定位一组元素的方法. import org.openqa.selenium.By; ...... findElements(By.id()) findElements(By.name()) findElements(By.className()) findElements(By.tagName()) findElements(By.linkText()) findElements…
Keys()类提供了键盘上几乎所有按键的方法. 前面了解到, sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A. Ctrl+C 等. import org.openqa.selenium.WebElement; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa…
1.通过jar包安装 点击Selenium下载 链接 你会看到Selenium Standalone Server的介绍: The Selenium Server is needed in order to run Remote Selenium WebDriver. Selenium 3.X is no longer capable of running Selenium RC directly, rather it does it through emulation and the WebD…
(一)环境安装之Java 1.安装java 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. 小知识: Java环境分JDK和JRE ,JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发 环境和运行环境.JRE是Java Runtime Enviroment是指Java的运行环境,是面向 Java 程序的使用者. 我们以 Windows安装JDK为例,双击下载的JDK,设置安装路径.这里我选择默认安装在"D:\Prog…
有时我们会碰到下拉框,WebDriver提供了Select类来处理下接框. 如百度搜索设置的下拉框,如下图: 搜索下拉框实现代码如下: <select id="nr" name="NR"> <option value="10" selected>每页显示 10 条</option> <option value="20">每页显示 20 条</option> <o…
在 WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用switch_to_alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/sendKeys等方法进行操作. getText(): 返回 alert/confirm/prompt 中的文字信息. accept(): 接受现有警告框. dismiss(): 解散现有警告框. sendKeys(keysToSend): 发…
在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用, WebDriver 只能在一个页面上对元素识别与 定位, 对于 frame/iframe 表单内嵌页面上的元素无法直接定位. 这时就需要通过 switchTo().frame()方法将当前定 位的主体切换为 frame/iframe 表单的内嵌页面中. <html> <body> ... <iframe id="x-URS-iframe" ...> <html>…
不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较.这个比较的称之为断言. 我们通常可以通过获取title .URL和text等信息进行断言.text方法在前面已经讲过,它用于获取标签对之间的文本信息. getTitle(): 用于获得当前页面的title. getCurrentUrl() : 用户获得当前页面的URL. getText() 获取页面文本信息. 下面同样以百度为例,介绍如何获取这些信息. import org.openqa.selenium.By; impor…
通过前面例子了解到,可以使用click()来模拟鼠标的单击操作,现在的Web产品中提供了更丰富的鼠标交互方式, 例如鼠标右击.双击.悬停.甚至是鼠标拖动等功能.在WebDriver中,将这些关于鼠标操作的方法封装在ActionChains类提供. Actions 类提供了鼠标操作的常用方法: contextClick() 右击 clickAndHold() 鼠标点击并控制 doubleClick() 双击 dragAndDrop() 拖动 release() 释放鼠标 perform() 执行所…
(六)控制浏览器操作 1.控制浏览器窗口大小 有时候我们希望能以某种浏览器尺寸找开,访问的页面在这种尺寸下运行.例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估:WebDriver 提供了 manage().window().setSize()方法来设置浏览器的大小. maximize() 设置浏览器最大化 setSize() 设置浏览器宽高 import org.openqa.selenium.Dimension; import org.openqa.s…
1.下载浏览器驱动 当selenium升级到3.0之后,对不同的浏览器驱动进行了规范.如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动. 各浏览器下载地址: Firefox浏览器驱动:geckodriver Chrome浏览器驱动:chromedrivertaobao备用地址 IE浏览器驱动:IEDriverServer Edge浏览器驱动:MicrosoftWebDriver Opera浏览器驱动:operadriver PhantomJS浏览器驱动:phanto…
1.安装IntelliJ IDEA 你可能会问,为什么不用Eclipse呢?随着发展IntelliJ IDEA有超越Eclipse的势头,JetBrains公司的IDE基本上已经一统了各家主流编程语言的江湖.考虑到 Java IDE的流行趋势,本书中决定选用IntelliJ IDEA. 当然, 选择什么样的IDE充满着个人喜好.你依然可以参考其它资料安装Java IDE.这不会影响你阅读该系列文章. 点击IntelliJ IDEA下载,根据自己的平台,选择相应的版本进行下载. IntelliJ…
转至元数据结尾   由 黄从建创建, 最后修改于一月 21, 2019 转至元数据起始   一.selenium元素定位 1.selenium定位方法 2.定位方法的用法 二.控制浏览器操作 1.控制浏览器窗口大小 2.控制浏览器后退.前进 3.刷新页面 三.WebDriver常用方法 1.WebDriver 常用方法 2.其它常用方法 四.模拟鼠标操作 1.关于鼠标操作的其它方法 五.模拟键盘操作 六.获取断言信息 七.设置元素等待 1.显示等待 2.隐式等待 八.定位一组元素 九.多表单切换…
Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作  1.1 用webdriver打开一个浏览器  1.2 最大化浏览器&关闭浏览器  1.3 设置浏览器窗口大小  1.4 打开测试页面  1.5 处理浏览器弹出的新窗口2 页面元素定位3 如何对页面元素进行操作  3.1 WebElement相关方法  3.2 iFrame的处理  3.3 输入框(text field or textarea)  3.4 下拉选择框(Select) …
如今大多数Web应用程序使用ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难, 如果因为在加载某个元素时延迟而造成ElementNotVisibleException(不可见元素异常)的情况出现,那么就会降低自动化脚本的稳定性,设置元素等待可改善这种问题造成的不稳定. WebDriver提供了两种类型的等待: 显示等待: 具体格式如下: from selenium import webdriver from selenium.webdrive…
1. 设置元素等待 前面我们接触了几个元素等待方法,sleep.implicitly_wait方法,这一章我们就来整体学一下. 现在大多数Web应用程序使用的都是AJAX技术.当浏览器加载页面时,页面上的元素可能并不是同时被加载完成的,这给元素的定位增加了困难.如果因为在加载某个元素时延迟而造成ElementNotVisibleException的情况出现,那么就会降低自动化脚本的稳定性,我们可以通过设置元素等待,来改善这种问题造成的不稳定. WebDriver提供了两种类型的等待:显示等待和隐…
一.设置元素等待 若在加载某个元素时延迟而造成的ElementNotVisbleException的情况出现,那么就会降低自动化脚本的稳定性,可以通过设置元素等待改善这种问题造成的不稳定. webdriver提供了两种类型的等待:显示等待和隐示等待 1. 显示等待 显示等待是webdriver等待某个条件成立时继续执行,否则在达到最大时长时抛弃超时异常(TimeoutException). #coding:utf-8 from selenium import webdriver from sel…
注:本文转载http://www.cnblogs.com/mengyu/p/6972968.html 当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给元素的定位增加了困难.如果因为在加载某个元素时延迟而造成ElementNotVisibleException 的情况出现,那么就会降低自动化脚本的稳定性,我们可以设置元素等待时间改善这种问题造成的不稳定性.selenium 主要提供Explicit Waits和Implicit Waits两种模式的等待,但是python time…
 WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法: 2.清除操作 WebElement username = driver.findElement(By.id("username_input")); username.clear(); 调用之后,会把输入框的内容全部清空: 3.获得元素属性的值…
(WebElement.iFrame.select.alert.浏览器窗口.事件.js)     一 WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法: 2.清除操作 WebElement username = driver.findElement(By.id("username_input"))…
WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法: 2.清除操作 WebElement username = driver.findElement(By.id("username_input")); username.clear(); 调用之后,会把输入框的内容全部清空: 3.获得元素属性的值 &…