Slenium Java 语言教程

按主题探索文章、教程与工程实践。

20 篇内容

2017

(一)环境安装之Java

点击 JDK8下载,根据自己的平台,选择相应的版本进行下载。 我们以 Windows安装JDK为例,双击下载的JDK,设置安装路径。这里我选择默认安装在__“D:\Program Files\Java\jdk1.8.0_101”__目录下。 下面设置环境变量: “我的电脑” 右键菜单—>属性—>高级—>环境变量—>系统变量—>新建.. 找到 path 变量 …

1 分钟阅读

(二)环境安装之IntelliJ IDEA

你可能会问,为什么不用Eclipse呢?随着发展IntelliJ IDEA有超越Eclipse的势头,JetBrains公司的IDE基本上已经一统了各家主流编程语言的江湖。考虑到 Java IDE的流行趋势,本书中决定选用IntelliJ IDEA。 当然, 选择什么样的IDE充满着个人喜好。你依然可以参考其它资料安装Java IDE。这不会影响你阅读该系列 …

1 分钟阅读

(三)环境安装之Selenium

点击 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 …

1 分钟阅读

(四)selenium3 浏览器驱动

当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。 各浏览器下载地址: Firefox浏览器驱动:geckodriver Chrome浏览器驱动:chromedriver taobao备用地址 IE浏览器驱动:IEDriverServer Edge浏览器驱 …

1 分钟阅读

(五)selenium元素定位

Selenium提供了8种定位方式。 id name class name tag name link text partial link text xpath css selector 这8种定位方式在Python selenium中所对应的方法为: findElement(By.id()) findElement(By.name()) …

1 分钟阅读

(六)控制浏览器操作

有时候我们希望能以某种浏览器尺寸找开,访问的页面在这种尺寸下运行。例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估;WebDriver 提供了 manage().window().setSize()方法来设置浏览器的大小。 maximize() 设置浏览器最大化 setSize() 设置浏览器宽高 在 PC 端执行自动 …

1 分钟阅读

(七)WebDriver常用方法

前面我们已经学习了定位元素, 定位只是第一步, 定位之后需要对这个元素进行操作, 或单击(按钮) 或 输入(输入框) , 下面就来认识这些最常用的方法。 下面先来认识 WebDriver 中最常用的几个方法: clear() 清除文本。 sendKeys(*value) 模拟按键输入。 click() 单击元素 clear()方法用于清除文本输入框中的内容。 …

1 分钟阅读

(八)模拟鼠标操作

通过前面例子了解到,可以使用click()来模拟鼠标的单击操作,现在的Web产品中提供了更丰富的鼠标交互方式, 例如鼠标右击、双击、悬停、甚至是鼠标拖动等功能。在WebDriver中,将这些关于鼠标操作的方法封装在ActionChains类提供。 Actions 类提供了鼠标操作的常用方法: contextClick() 右击 clickAndHold() …

1 分钟阅读

(九)模拟键盘操作

Keys()类提供了键盘上几乎所有按键的方法。 前面了解到, sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。 需要说明的是,上面的脚本没有什么实际意义,但向我们展示了模拟键盘各种按键与组合键的用法。 import …

1 分钟阅读

(十)获取断言信息

不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为__断言__。 我们通常可以通过获取title 、URL和text等信息进行断言。text方法在前面已经讲过,它用于获取标签对之间的文本信息。 getTitle(): 用于获得当前页面的title。 getCurrentUrl() : 用户获得当前页面的URL。 …

1 分钟阅读

(十一)设置元素等待

WebDriver提供了两种类型的等待:__显式等待__和__隐式等待__。 WebDriver提供了显式等待方法,专门针对某个元素进行等待判断。 WebDriverWait类是由WebDirver提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。具体格式如下: …

1 分钟阅读

(十二)定位一组元素

在第(五)节我们已经学习了8种定位方法, 那8种定位方法是针对单个元素定位的, WebDriver还提供了另外8种用于定位一组元素的方法。 定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词 findElement 后面多了一个 s 表示复数。 打印结果:

1 分钟阅读

(十三)多表单切换

在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用, WebDriver 只能在一个页面上对元素识别与 定位, 对于 frame/iframe 表单内嵌页面上的元素无法直接定位。 这时就需要通过 switchTo().frame()方法将当前定 位的主体切换为 frame/iframe 表单的内嵌页面中。 126邮箱登录框的结构大概是 …

1 分钟阅读

(十四)多窗口切换

在页面操作过程中有时候点击某个链接会弹出新的窗口, 这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换。 以百度首页和百度注册页为例,在两个窗口之间的切换如下图。 实现窗口切换的代码如下: 在本例中所涉及的新方法如下: getWindowHandle(): 获得当前窗口句 …

1 分钟阅读

(十五)下拉框选择

有时我们会碰到下拉框,WebDriver提供了Select类来处理下接框。 如百度搜索设置的下拉框,如下图: 搜索下拉框实现代码如下: 操作下接框代码如下: Select类用于定位select标签。 selectByValue()方法符用于选取<option>标签的value值。

1 分钟阅读

(十六)警告框处理

在 WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,具体做法是使用switch_to_alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/sendKeys等方法进行操作。 getText(): 返回 alert/confirm/prompt …

1 分钟阅读

(十七)文件上传

对于通过input标签实现的上传功能,可以将其看作是一个输入框,即通过sendKeys()指定本地文件路径的方式实现文件上传。 创建upfile.html文件,代码如下: 通过浏览器打开upfile.html文件,功能如下图。 接下来通过sendKeys()方法来实现文件上传。

1 分钟阅读

(十八)浏览器cookie操作

有时候我们需要验证浏览器中Cookie是否正确, 因为基于真实Cookie的测试是__无法通过白盒测试和集成测试进行的__。WebDriver提供了操作Cookie的相关方法可以读取、 添加和删除Cookie信息。 WebDriver 操作Cookie的方法: getCookies() 获得所有 cookie 信息。 …

1 分钟阅读

(十九)调用JavaScript代码

虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript来控制浏览器的滚动条。WebDriver提供了executeScript()方法来执行JavaScript代码。 用于调整浏览器滚动条位置的JavaScript代码如下: window.scrollTo()方法用于设 …

1 分钟阅读

(二十)获取窗口截图

自动化用例是由程序去执行,因此有时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因。 WebDriver提供了截图函数getScreenshotAs()来截取当前窗口。 脚本运行完成后打开D盘,就可以找到screenshot.png图片文件了。

1 分钟阅读