selenium是一个用于Web应用程序测试的工具。 Selenium 测试直接在浏览器中运行,就像真实用户所做的一样
一、工作原理
selenium的实现原理是这样的: 运行代码,启动浏览器后,webdriver会将浏览器绑定到特定端口,作为webdriver的remote server;Client(也就是测试脚本)借助ComandExecutor创建sessionId,发送HTTP请求(包括HTTP method, body)给remote server;remote server收到HTTP请求后,调用webdriver完成操作,并将HTTP响应的结果返回给Client。
二、元素定位的八种方法
id:根据id来获取元素,返回单个元素,因为id值一般是唯一的
xpath:根据相对/绝对路径
cssSelector:根据css选择器来获取元素,可能返回元素集合
name:根据元素的name属性来获取元素,可能返回元素集合
tagName:根据元素的标签名来获取原型,可能返回元素集合
className:根据元素的样式class值来获取元素,可能返回元素集合
linkText:根据超链接的文本值来获取元素
partialLinkText:根据超链接的部分文本值来获取元素
什么是xpath
xpath其实就是一个path,一个描述页面元素位置信息的路径。
1、绝对定位
以单/号表示,而且是让解析引擎从文档的根节点开始解析,也就是html这个节点下开始解析。
示例:/html/body/div[1]/div/div/input
路径解释:html--》body--》第二个div--》div--》...
缺点:一旦页面结果发生变化(比如重新设计时,路径少了2节),该路径随之失效,必须重新写
2、相对定位
相对路径以‘/ /’表示,表示让xpath引擎从文档的任意符合的元素节点开始进行解析。
示例://*[@id="mobilephone"]
路径解释:
/ / :从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
*:匹配任意元素节点
@ :选取属性
优点:灵活、方便、耦合性低
三、优缺点
优点
多语言/多平台/多浏览器/开源,免费/简单
缺点
不允许无代码测试
无法判断页面元素什么时候生成完毕
没有内置图像比较
没有报告功能,不能自动生成报告
四、支持浏览器
chrome,firefox,Safari,IE等
五、支持脚本语言
Java,C,Python,javascript,ruby,PHP等
网友评论