日常的 Web 网站开发的过程中,为提升登录安全或防止用户通过脚本进行黄牛操作(宇宙最贵铁皮天朝魔都的机动车牌照竞拍中),很多网站在登录的时候,添加了验证码验证,而且验证码的实现越来越复杂,对其进行脚本识别的难度也越来越高.这对我们自动化脚本编写带了非常的不便,那么如何解决登录时的验证码问题呢?经常有初学自动化脚本编写的小主们问及此问题. 此文主要针对如何解决自动化测试脚本中含登录态的操作问题,即如何降低验证码对自动化脚本编写过程中的解决方法进行分析和解决,并以实例演示(基于易迅网易迅账号登录)…
在日常的 WebUI 自动化测试脚本编写过程中,经常需要打开新的页面,或者在多个打开的页面之间进行切换,以对页面元素进行相应的操作,以模拟用户的行为,实现 UI 的自动化测试.在过往的时间中,经常有初学 Selenium(webdriver) 的朋友问及如何选择窗口的问题,其实 Selenium 已经给我们提供的了相应的方法去解决这个问题.解决思路如下: 1.通过 webdriver.getWindowHandles() 获取所有已打开窗口的信息 Set<String> 2.遍历上述信息,并切…
之前已经讲过了 Selenium 操作 Select 实现的下拉列表:Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select,但是在实际的日常网页开发中,实现下拉列表的方法.样式.特效有 N 多种,但是无论实现的方法有多少不同,其都会遵循一定的规律,在此我就不再赘述了(有兴趣的小主,可以找有经验的前段请教一下).同时,此类实现的下拉列表在使用 Selenium 进行定位时,往往不尽如人意,定位比较繁琐. 此文仅以 淘宝网账户注册时选择手…
此文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,对下拉列表框 Select 的操作. 下拉列表是 Web UI 自动化测试过程中使用率非常高的,通常有两种形式的下拉列表,一种是 Select 的下拉列表,此种操作的时候比较简单,定位到元素后直接操作即可:还有的下拉列表是以多个 div + js + input 的形式实现,input 用于存储选择的项的 value 值:当然也会有其他方式实现的下拉列表. 希望能对初学 Selenium2 WebUI 自动化测试编程的亲…
此 文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,通过 ID.name.xpath.cssSelector.linkText.className.partialLinkText.tagName 的实战实例源代码演示 Selenium 元素定位的 8 种方法,源代码测试通过日期为:2015-01-26 00:18,请知悉.注意:其中通过 tagName 定位元素时,返回的是一个 WebElement 的数组,需要根据实际的测试需求对其进行进一步的处理. 希望能对初学 S…
此文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,在因 frame 标签导致页面定位失败,提示 NoSuchElementException 时的,页面元素定位前的 frame 处理,即 WebDriver.swtichTo.frame() 的概要用法. 希望能对初学 Selenium2 WebUI 自动化测试编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! 在我之前的页面元素定位示例文章 (Selenium2 Web 元素定位及 XPath 编写演示示例)中…
在自动化脚本编写过程中,操作元素之前,需要对元素进行高亮显示(通过修改元素的边框样式),同时进行截图,以记录操作的元素对象.在实际应用中较为少见,通常用于演示,或者发生错误时的屏幕截图捕捉,用于错误报告分析. 直接上码了...... /** * * @function height light the element * * @author Aaron.ffp * @version V1.0.0: autoUISelenium main.java.aaron.sele.core Selenium…
在自动化脚本编写过程中,经常需要获取页面元素的文本进行判断,以便对于不同的文本进行不同的处理.比如:很多的购物网站,加入购物车的按钮是有多个状态的(加入购物车.到货通知.暂不销售等),那么在实际的操作过程中,需要对此按钮对应的不同的值,执行相应的逻辑. 代码相对比较简单,在此不再详细说明了,直接上码,敬请各位小主参阅,若有不足之处,敬请大神指正,非常感谢! 获取元素值的源码如下所示: /** * @function Get text of element. It will be return n…
通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a或其他方式结合实现). 非input标签类因其有各式各样的实现方式,需要考虑具体的场景,因而此文对此类文件上传不做讲解,以input标签实现文件上传的方式进行讲解,请知悉! 解决方案有如下三种: 1.定位元素直接通过sendkeys修改input标签的文件链接: 2.通过第三方控件(AutoIt)编…
此文主要通过 百度登录 功能,进行 Selenium2 的实战实例讲解.文中所附源代码于 2015-01-17 23:33 亲测通过,敬请亲们阅览.同时,您也可参考此文进行其他网站(例如 京东.易迅.天猫等)的登录(一般登录流程基本相同,若需填写验证码,因目前验证码识别不方便,初始学习时可让脚本运行到添加验证码时人工输入.在单位进行此部分的自动化脚本编写时,最好取得开发的支持使用万能验证码,方便脚本编写),进行编写登录自动化测试脚本,若您直接使用此文所附的源代码运行测试,则需要将文中 账户名和密…