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 ...
随机推荐
- Windows Server 2019安装OpenSSH Server简明教程
Windows Server 2019安装OpenSSH Server简明教程 Windows Server 2019内置OpenSSH Server组件了.只不过OpenSSH Server默认 ...
- 酷Q插件_SDK———入门与使用
1.这里使用的是易语言的SDK,所以请看不惯的人自行离开.{wymbf.} 1.2 这里不会直接给你工程,请用动手打代码,动脑思考. 1.3 不知道.不了解酷Q是干嘛的,请访问:https://cqp ...
- SQL SERVER DATEDIFF函数
定义: DATEDIFF() 函数返回两个日期之间的时间间隔. 语法: DATEDIFF(datepart,startdate,enddate) 参数: ①datepart 参数可以是下列的值: da ...
- Hadoop集群搭建-05安装配置YARN
Hadoop集群搭建-04安装配置HDFS Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hadoop集群搭建-01前期准备 先保证集群5台虚 ...
- LeetCode 160——相交链表(JAVA)
编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB ...
- http请求之of_ordering_http_get
//Public function of_ordering_http_get (string as_url) returns string //string as_urllong ll_tempstr ...
- 本地代码库,提交远程git
1.在git上新建项目,并填好相关信息 2.新建成功后,复制项目地址 3.idea新建本地仓库 4.Add所有文件,然后提交(commit) 5.先打开push界面,设置git远程地址,然后关掉,先p ...
- 一次简单的springboot+dubbo+flume+kafka+storm+redis系统
最近无事学习一下,用springboot+dubbo+flume+kafka+storm+redis做了一个简单的scenic系统 scenicweb:展现层,springboot+dubbo sce ...
- inline元素、block元素
inline元素 不会独占一行,相邻的行内元素会排列在同一行内,直到一行排不下才会换行 高.行高.以及外边距和内边距不可改变 宽度就是它的文字或图片的宽度,不可改变,随元素内容变化而变化 内联元素只能 ...
- C#进阶之WebAPI(一)
最近出去面试,被问到关于WebAPI的知识,因为项目中没有单独写过WebAPI,使用的时候是和mvc结合在一起使用的,所以,在我的印象中WebAPI和mvc是差不多的,这种答案当然不能让人满意了,于是 ...