1.安装IntelliJ IDEA 你可能会问,为什么不用Eclipse呢?随着发展IntelliJ IDEA有超越Eclipse的势头,JetBrains公司的IDE基本上已经一统了各家主流编程语言的江湖.考虑到 Java IDE的流行趋势,本书中决定选用IntelliJ IDEA. 当然, 选择什么样的IDE充满着个人喜好.你依然可以参考其它资料安装Java IDE.这不会影响你阅读该系列文章. 点击IntelliJ IDEA下载,根据自己的平台,选择相应的版本进行下载. IntelliJ…
(一)环境安装之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…
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…
参考: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…
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…
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…
有时我们会碰到下拉框,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…
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) …
Java基础-配置开发环境-安装JDK 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.计算机基础知识 1>.计算机的组成 计算机有硬件与软件组成. 2>.硬件: 硬件是指组成计算机的物理的电子元器件,常见的硬件有硬盘,光驱,主板,内存条,显示器,鼠标,键盘,显卡,网卡等等. 补充:冯.诺伊曼定义的计算机体系结构:输入设备,输出设备,存储设备,运算器与控制器. 3>.软件: 软件就是运行在计算机上的程序,软件分为系统软件与应用软件两大类. 系统软件是指可以直接操作硬…
scala语言简介及其环境安装 简介: 1.运行在JVM 上,兼容java语言 Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行.所以Scala和Java是可以无缝互操作的.Scala 可以任意调用Java的代码. 2.当面向对象遇到了函数式编程(Object-Oriented Meets Functional) Scala 是面向对象的编程语言,同时也是函数式编程.(fp) 3. 静态类型语言(尽管看起来像动态类型) 动态类型语言 (弱类型语言)JavaScript, 定…
一.初步了解Java语言 Java语言是由Sun公司的James Gosling创造的一门面向对象的高级语言. 2009年4月20日,Sun公司被Oracle以总价值约为74亿美元的价格收购,Java于是成为Oracle的软件资产.Java SE 7是Oracle发布的第一个Java版本. 目前Oracle官网发布的最新Java版本为Java SE 13.0. 二.Java语言的特征 面向对象:开源免费:跨平台:多线程:简单易用:健壮性:安全性等. 三.Java程序的运行机制和JVM 由Java…
1.计算机高级语言按程序的执行方式可以分为编译型和解释型两种: 2.JAVA程序的执行过程必须经过先编译后解释两个步骤: 3.JAVA语言里负责执行字节码文件的是JAVA虚拟机 (Java Virtual Machine); 4.不同平台上的JVM都是不同的,但它们都提供了相同的接口: 4.JVM是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域.它负责执行指令, 还要管理数据.内存和寄存器: 5.JDK(Java SE Development Kit) 即Java标准版开…
一.Java发展历程 1995年5月23日,Java语言诞生: 1996年1月,第一个JDK-JDK1.0诞生: 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术: 1996年9月,约8.3万个网页应用了Java技术来制作: 1997年2月18日,JDK1.1发布: 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议纪录: 1997年9月,JavaDeveloperConnection社区成员超过十万: 1998年2月,JDK1.1被下载超…
1.Java  EE和Java  SE Java SE(Java  Platform Standard Edition)标准版:是在java基础阶段主要学习的内容,该技术是java的最核心技术,适合小型项目开发. Java EE  (Java  Platform Enterprise Edition)企业版:为开发企业环境下的应用程序提供的一套解决方案.该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发(大型项目). 2.Java语言开发工具包 JDK(Java De…
 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"))…