定位多个元素: findElements()方法可以返回一个符合条件的元素List 组 如: public void hitUpdatePersonnel(WebDriver driver, int index){ List<WebElement> elements = driver.findElements(By.name("sex")); //定义了一个集合,将name一样的元素一次性定位出来 elements.get(index).click(); //通过集合的下标…
一: 元素类 整体思路: 1. 根据状态可分可见和不可见两种 2. 同一个路径可以查找单个元素或多个元素 3. 获取元素text或者指定的value值 4. selenium对元素操作有两种,一是通过By来操作,二是通过js来操作 二: 浏览器 整体思路: 1. 区分四种浏览器的调用 2. 设置每个浏览器的配置 3. 打开跟关闭浏览器 三:元素实现方式 定义一个接口InterfaceShow,两个实现类ExecuteProtogenesis和ExecuteFramework InterfaceS…
怎么定位这类型的元素呢? 根据其他属性定位如果有其他固定属性,最先考虑的当然是根据元素的其他属性来定位,定位方式那么多,何必在这一棵树上吊死.. 根据相对关系定位根据其附近的父节点.子节点.兄弟节点定位,关于这方面,微信之前有文章做介绍. 根据DOM顺序index定位这个很简单,找到该元素在主文档或某级父节点中的index,然后根据index可轻松定位,不过这种方式可能不够稳定,如果可以,还是用其他的方法定位更加合适. 根据部分元素属性定位xpath中提供了三个非常好的方法来为我们定位部分属性值…
对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是为了易于维护,很多人可能不懂得维护的价值是什么,和到底要维护什么.今天专门写一篇关于二次开发的文章,希望能够帮到有需要做二次开发的人.      二次开发也就是我们常说的封装selenium,或者做框架.但是一个框架要包含丰富的类和方法.要有一套完整的体系来帮助我们进行封装.可以说框架的设计思想就是整个框架的灵魂,如果设计思想很正确也就意味着这个框架成功…
前言 昨天联调一个页面,看着就一个页面,接口倒是不少. 热点问题配置测试联调完成(同步异步接口共11个) 1.配置新增 2.配置编辑 3.配置删除 4.热点问题新增 5.热点问题编辑 6.热点问题删除 7.热点问题上移 8.热点问题下移 9.热点问题保存 10.热点问题校验 11.热点问题列表 下图这一块是最麻烦的,调用的其他部分的组件,为了能复用,联调了很久. 之前封装的组件每一个动作是调接口的异步行为,此时改成同步的,最后保存一起提交. 那么在同步处理的时候,用到了很多数组的增删改,inde…
Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera(OperaDriver), 它还支持AndriodDriver和Iphone(IphoneDriver)的移动应用测试. 而做测试的主流三款浏览器:Chrome.Firefox和IE,今天就介绍下,Selenium下配置这三款浏览器驱动的方法与用法. Selenium安装浏览器驱动 1. FireF…
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 自动化测试步骤 定位元素>操作元素>验证操作结果>记录测试结果 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement) 2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等 3. 验证页面上的元素是否符合预期 定位方法…
前言 前面已经把环境搭建好了,现在开始使用 Selenium 中的 Webdriver 框架编写自动化代码脚本,我们常见的在浏览器中的操作都会有相对应的类方法,这些方法需要定位才能操作元素,不同网页的元素也不同,可以根据自己情况选择使用类方法.下面开始学习元素定位: New一个后缀为.py的Python文件写一段代码,先感受一下代码吧!写完以后Ctrl+Shift+F10运行代码. # -*- coding:utf-8 -*- from selenium import webdriver # 从…
一.轴运算名称 ancestor:祖先结点(包括父结点) parent:父结点 preceding:当前元素节点标签之前的所有结点(html页面先后顺序) preceding-sibling:当前元素结点标签之前的所有兄弟结点(同级) following:当前元素结点标签之后的所有节点(html页面先后顺序) following-sibling:当前元素结点标签之后的所有兄弟结点(同级) 二.使用语法 轴名称::结点名称 举例说明: 如下图,如何通过①来定位到②呢? 分析: 元素①和元素②的关系…
参考内容:官方API文档,下载链接:http://download.csdn.net/detail/kwgkwg001/4004500 虫师:<selenium2自动化测试实战-基于python语言> 一.WebDriver原理 1.关于WebDriver 设计模式:按照Server-Client的经典设计模式设计: Server端:即Remote Server(远程服务器),可以是任意的浏览器,当脚本启动浏览器时,该浏览器就是Remote Server,它的职责是等待Client发送请求并做…