Selenium(1)
一、Selenium->Se(硒)->功能自动化测试工具=功能自动化测试工具(QTP)<-Mercury(汞)
1、Selenium介绍
(1)Selenium 是针对web被测系统的一款功能自动化测试工具
熟练掌握功能自动化测试工具Quick Test Professional、Selenium
(2)Selenium的特点
1) 支持多平台测试:Windows、Linux/Unix、Mac(苹果)等
2) 支持多浏览器测试:IE、Firefox(火狐)、Chrome(谷歌)、Safari、Sogo、欧鹏等
3) 支持多编程语言:Java、Python、Ruby、C#等
(3)Selenium和QTP的比较
1) 优点:开源免费、代码小巧灵活易维护,支持"三多",更容易整合到其他测试平台
2) 缺点:不支持C/S系统,学习成本更高
(4)Selenium的组件
Selenium 1.0
1) Selenium IDE:火狐浏览器的插件,用于录制和回放脚本
2) Selenium Grid:可以实现分布式测试
3) Selenium RC:Remote Control远程控制,Selenium的核心,可以实现利用Selenium的代理服务器来实现访问浏览器实现自动化测试
a.Client:实现自动化脚本
b.Server:负责控制浏览器行为
Launcher:启动浏览器
Http Proxy:Selenium Server的HTTP代理
Core:嵌入到浏览器的js代码
由Launcher启动浏览器,将Core嵌入到浏览器,并把浏览器的代理设置为Selenium Server的HttP Proxy
4) Selenium 2.0 则是把Selenium 1.0的Selenium RC 替换为WebDriver
如果使用Selenium2.0进行测试,可以直接说使用WebDriver进行测试
(5)Selenium做自动化测试的流程(初学)
1) 根据需求,制定测试计划
2) 设计测试用例
3) 使用Selenium IDE录制代码
4) 转换为高级语言的代码(Java)
5) 使用高级语言进行增强脚本
6) 结合工具调试代码(Myeclipse)
7) 运行代码,查看测试结果报告
8) 编写测试总结报告
(6)Selenium做测试的操作流程
driver.findElemnet
1) 定位页面元素(findElement)
页面元素:Element(图片、文字、按钮、视频、文本框、单选按钮、复选框、链接)
定位:find(找到)
2) 操作页面元素
click(点击)、SendKeys(键盘输入)、Clear(清空)
3) 校验页面元素
assert(断言)、assertText
4) 记录测试结果
(7)Selenium官网
http://seleniumhq.org/
2、Selenium IDE
(1)Selenium IDE是FireFox(火狐)浏览器的一个插件
(2)安装Selenium IDE
方法一:离线安装
1) 从官网下载Selenium IDE的安装文件,存放在本地电脑上
2) 打开火狐浏览器,把IDE安装文件拖拽到火狐浏览器中,点击"立即安装"
3) 重启火狐浏览器
方式二:在线安装
1) 打开Firefox浏览器->工具->附加组件
2) 在附加组件中搜索"Selenium IDE"
3) 在搜索到的Selenium IDE后点击"安装"即可,重启Firefox
注意:
a.注意Firefox和IDE的兼容性
b.取消Firefox的自动更新:Firefox->工具->选项->高级->更新->选择"不检查更新"
(3)代码的组织形式:
1) Test Suite:测试套件,一个测试套件可以包含多条测试用例,在IDE中一次只能打开一个测试套件
2) Test Case:测试用例,一条测试用例可以包含多个测试步骤
3) Table视图:表格视图,以列表的形式展示所有的测试步骤
a.Command:命令列,记录Selenese命令,描述操作的动作
b.Target:目标列,记录Selenese的第一个参数值,一般描述操作的页面元素,不是直接用页面元素名称,是使用element Locator(元素定位器)形式描述操作的页面元素
c.Value:值列,记录Selenese命令的第二个参数,一般描述操作时使用的数据,可以为空
4) Source视图:源码视图,以HTML源码的形式展示所有的测试步骤,也可以转换为其他格式的源代码,如java、ruby......
<html>
<head>
<title></title>
</head>
<body>
图片、视频、链接、name=button id=3 按钮...
</body>
</html>
5) Select:使用Select找到页面元素来生成页面元素的locator,记录到target列
6) Find:查找,查找当前element locator元素定位器定位到哪个元素
7) Test Case :测试用例视图,记录当前IDE测试套件包含的所有测试用例列表
8) Log:记录运行时日志
9) Reference:参考视图,记录当前选择的步骤命令的使用方法,帮助文档
10) 功能项:
a.右上角红色圆点按钮:录制和停止录制按钮,圆点有白色背景为录制状态
b.三条绿色横杠按钮:运行整个测试套件
c.一条绿色横杠按钮:运行一条测试用例
d.Fast--Slow滑动条:调整运行速度
e.Base URL:基准URL,记录被测系统URL的主域部分(前半部分)
(4)Selenium IDE 的使用(录制和回放)
1) 启动Firefox,打开被测系统
2) 打开IDE,IDE处于录制的状态
3) 按照测试需求录制操作步骤
4) 点击红点按钮,停止录制
5) 保存
a.先保存测试用例:文件->Save Test Case,输入测试用例名称.html,保存
b.再保存测试套件:文件->Save Test Suite,输入测试套件名称.html,保存
6) 运行
a.运行整个测试套件:Actions->Play entire test suite,或者点击三条绿色横杠按钮,依次运行Test Case视图中的每条测试用例
b.运行当前测试用例:选择某个用例,Actions->Play current test case,或者点击一条横杠按钮,运行当前测试用例的所有步骤
c.只运行一个测试步骤:双击该测试步骤
d.从指定行开始运行:在某一行右键添加开始点,选择Set/ clear start point,再次运行,就从开始点行开始运行
7) 查看运行结果:
a.查看Test Case视图下方的测试总结
绿色:整个运行过程没有错误
红色:出现错误
Runs:运行测试用例数
Failures:错误数
b.查看Table视图每个步骤的背景颜色
白色:未运行
黄色:正在运行
浅绿色:运行完成,Done
深绿色:断言成功,passed
浅粉色:警告,Warning,不影响测试步骤执行
深粉色:错误或者断言失败,Failed,后续步骤停止运行
c.查看Log,红色字体描述错误信息或者警告信息,黑色字体记录正常操作日志
(5)常见的运行错误:
1) [error] Element XXX not found
error:错误
Element:元素
not:没有
found:找到
原因:用Locator无法定位到当前被测系统页面中的任何元素
导致无法找到的原因:
a.Locator书写错误
b.步骤顺序错误
c.被测系统版本升级,Locator进行了修改
d.网页需要加载才显示页面元素
解决方案:
a.拖拽移动步骤的顺序
b.使用Find确认是否是Locator错误,如果是Locator错误,就使用Select重新生成Locator
二、基本工具插件
selenium-java-2.33.0
Selenium工具的代码,就是webdriver
29.0.1547.76_chrome_installer.exe
chrome(谷歌浏览器)的安装文件
chromedriver.exe
Selenium访问Chrome浏览器的驱动
firebug-1.13.0a1.xpi
查看页面元素属性的工具
FirefoxSetup23.0.1chs.exe
火狐浏览器安装文件
firepath-0.9.7-fx.xpi
查看页面元素路径的工具
IEDriverServer.exe
IE浏览器的驱动
selenium-ide-2.5.0.xpi
Selenium IDE,录制回放脚本的
Selenium支持不同的语言
python怎么测Selenium?用Python语言怎么使用Selenium进行测试?
中文:1+1=2
英文:one add one equal two
点击登录按钮
Python:driver.findElement_by_name("登录").C
Java:driver.findElement(By.name("登录")).C
Selenium(1)的更多相关文章
- 面试准备——(三)Selenium(1)基础问题及自动化测试
转载:https://www.cnblogs.com/lesleysbw/p/6413880.html 面试准备——(三)Selenium(1)基础问题及自动化测试 滴滴面试: 1. 自己负责哪部 ...
- Selenium(Webdriver)自动化测试常问问题
http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html Selenium(Webdriver)自动化测试常问问题 (1)selenium中如何保证操作 ...
- 初识Selenium(三)
浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58 作者:邵育亮 来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...
- 初识Selenium(一)
Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...
- py库: Selenium (自动化测试)
http://blog.csdn.net/liujingqiu/article/details/50458553 http://www.cnblogs.com/zhaof/p/6953241.html ...
- selenium(五)伪造浏览器
简介: 这个就比较好玩了,大家还记得以前的QQ小尾巴么?还有百度贴吧的小尾巴,就是那个来自***的iphone7,这个功能. 这个功能是基于浏览器的user-agent功能实现的. 还是httpbin ...
- Selenium(Webdriver)自动化测试常问到的问题解答(转自:潜龙0318)
今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! ( ...
- Selenium(一)自动化测试简介
1.软件开发流程 产品分析需求--架构师确认系统包含哪些模块--开发编码--开发和测试一起做单元测试--测试开展版本(集成)测试(使用手工测试,测试通过后,才开始设计脚本)--测试开展系统测试--最后 ...
- Selenium(6)
一.定位页面元素 1.高级定位:层级定位 思路:先定位到祖先节点,在定位该祖先节点范围内的子节点 2.高级定位:Xpath定位(重点) (1)Xpath定位:Xpath就是一个表达式,表示元素的路径, ...
- Selenium(4)
练习1:使用selenium+firefox测试ecshop登录过程 一.WebDriver 1.启动浏览器 (1)启动Firefox浏览器 a.启动默认路径下的浏览器 WebDriver drive ...
随机推荐
- kubernetes安装dashboard步骤 【h】
本篇文章参考kubernetes---dashboardv1.8.3版本安装详细步骤及 kubernetes-dashboard(1.8.3)部署与踩坑这两篇文章,详细写了自己部署过程中的操作.遇到的 ...
- 说说mysql的存储引擎,有什么区别?索引的介绍
InnoDB 支持ACID事务,支持事务的四种隔离级别,串行化,可重复读,读已提交,读未提交. 支持行级锁以及外检约束:所以可以支持写并发. 不存储总行数. 逐渐索引采用聚集索引,索引的数据域存储数据 ...
- jQuery之替换节点
如果要替换节点,jQuery提供了两个方法:replaceWith()和replaceAll(). 两个方法的作用相同,只是操作颠倒了. 作用:将所有匹配的元素都替换成指定的HTML或者DOM元素.( ...
- win系统常用命令
windows常用命令 net user 用户名 密码 /add (建立用户) net localgroup administrators 用户名 /add (将用户加到管理员,使其拥有管理权限) n ...
- 【miscellaneous】单播、广播和多播IP地址
转自:http://www.cnblogs.com/gaoxing/archive/2012/02/19/2358484.html 除地址类别外,还可根据传输的消息特征将IP地址分为单播.广播或多播. ...
- 【VS开发】关于在CFormView中实现CListCtrl控件的注意事项
[VS开发]关于在CFormView中实现CListCtrl控件的注意事项 标签(空格分隔): [VS开发] 今天调试中发现了一项非常令人恼怒的事情,本来早都知道在CFormView中没有了像在对话框 ...
- javascript——创建对象的方式
对象:在JavaScript中,对象是拥有属性和方法的数据. JavaScript自定义对象方式有以下7种:直接创建方式.对象初始化器方式.构造函数方法.prototype原型方式.混合的构造函数/原 ...
- 【原创】大叔经验分享(71)docker容器中使用jvm工具
java应用中经常需要用到jvm工具来进行一些操作,如果java应用部署在docker容器中,如何使用jvm工具? 首先要看使用的docker镜像, 比如常用的openjdk镜像分为jdk和jre,只 ...
- [转载]Flex的文件规则
原文在:https://blog.csdn.net/hczhiyue/article/details/20483209 文章中给的一个定义很明白,对于初学者来说很有帮助: 什么是 FLEX?它是一个自 ...
- java面试1
1.面向对象的特征·有·哪些方面 1)抽象 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽 ...