Web自动化基础分享
一、Selenium 简介
Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。
与其他测试工具相比,使用 Selenium 的最大好处是: Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。
Selenium 测试可以在 Windows、Linux 上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。
RFS=Robot Framework + Selenium
二、环境搭建
1.安装Python,推荐使用ActivePython-2.7
2.安装wxPython2.8
3.pip install robotframework
4.pip install robotframework-ride
5.pip install robotframework-selenium2library
浏览器driver:
http://code.google.com/p/selenium/downloads/list
三、Firebug安装

四、RFS基本使用
1.元素定位

①定位中的注意事项:
有时,需要先进入一个frame或iframe再定位一个元素,这样效率更高,可以使用如下两个关键字。
进入一个frame或iframe
Select Frame | locator
回到最上层frame或iframe
Unselect Frame
②定位中的能手:Xpath
XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
XPath 是 XML 路径语言,用来查询 XML 文档里中的节点。主流的浏览器都支持 Xpath。Xpath 语言是基于 XML 文档的树结构,并提供了浏览树的能力,通过多样的标准来选择节点。
http://www.w3school.com.cn/xpath/
通过绝对路径定位元素
xpath=/html/body/form/input
通过相对路径定位元素
xpath=//input
使用索引来定位元素
xpath=//input[2]
使用属性值定位元素
xpath=//input[@id=’username’]
xpath=//input[@id=’username’][@name=’username’]
xpath=//input[@id=’username’ and @name=’username’]
xpath=//input[@id=’username’ or @name=’username’]
使用属性名称定为元素
xpath=//input[@name]
使用部分属性值定位元素
使用值来匹配任意属性及元素
//input[@*=’username’]
五、RFS基本使用(Selenium2Library)
1.Selenium2Lib提供了与浏览器交互的关键词:
Open Browser 打开浏览器
Maximize Browser Window 最大化浏览器窗口
Input Text 输入字符
Input Password 输入密码
Go To 前进
Go Back 返回
Reload Page 重新加载页面
Close Window 关闭窗口
Close Browser 关闭浏览器
Close All Browsers 关闭所有浏览器
2.浏览器操作
点击
Click Button | locator
Click Element | locator
Click Image | locator
Click Link | locator
Double Click Element | locator
在IE中,如果遇到Click不起作用,可以用如下命令来替代:Press Key | <id> | \\13或\\10
输入
Selenium2Lib提供了和其他界面元素交互的关键词:
Element
Focus 聚焦
Simulate 模拟时间触发
Open Context Menu 打开
List
Select All From List
Select From List
Unselect From List
Checkbox
Select Checkbox
Unselect Checkbox
Selenium2Lib提供了和其他界面元素交互的关键词:
Radio Button
Select Radio Button
Form
Submit Form
Choose File (For File Upload)
默认情况下, Selenium2会自动等待页面加载完成
对于页面AJAX可以使用如下等待页面的关键词:
Wait For Condition | condition | timeout=None | error=None
Wait Until Page Contains | text | timeout=None | error=None
Wait Until Page Contains Element | locator | timeout
获取页面信息:
Page
Get Title
Get Location
Get Source
Get Matching Xpath Count
Element
Get Element Attribute
Get Value
Link
Get All Links
Table
Get Table Cell
List
Get List Items
Get Selected List Label
Get Selected List Labels
Get Selected List Value
Get Selected List Values
Alert Should Be Present
Get Alert Message
Choose Cancel On Next Confirmation
Choose Ok On Next Confirmation
Confirm Action
Web自动化基础分享的更多相关文章
- Selenium基于Python web自动化基础一 -- 基础汇总及简单操作
Selenium是UI层WEB端的自动化测试框架,也是目前市面上比较流行的自动化测试框架. ui层自动化测试本质是什么?模拟用户的真实操作行为. 基础汇总: 导入所需要的模块 from seleniu ...
- Web自动化基础(一)使用Selenium定位元素
什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片,都可以理解成元素,这些元素是由html代码构成的,比如图片可以用<img>标签来展示,一个输入框可以用&l ...
- Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- robotframework·WEB端基础
date:2018526 day10 一.导入库 导入的库分两种,一种是导入常用库,如String.Collections等(Library String.Collections,再运用库中的关键字) ...
- Web自动化必会知识:「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」
1.web 基础-html.dom 对象.js 基本语法 Dom 对象里面涉及元素定位以及对元素的修改.因为对元素操作当中涉及的一些 js 操作,js 基本语法要会用.得要掌握前端的基本用法.为什么要 ...
- 《Selenium+Pytest Web自动化实战》随到随学在线课程,零基础也能学!
课程介绍 课程主题:<Selenium+Pytest Web自动化实战> 适合人群: 1.功能测试转型自动化测试 2.web自动化零基础的小白 3.对python 和 selenium 有 ...
- RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...
- RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)
本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...
- docker+headless+robotframework+jenkins实现web自动化持续集成
在Docker环境使headless实现web自动化持续集成 一.制作镜像 原则:自动化测试基于基础制作镜像 命令:docker run --privileged --name=$1 --net=ho ...
随机推荐
- 使用XmlReader读取xml文件之二
在.net开发中经常需要读写xml形式的文件(app.config和web.config分别是WinForm和WebForm中使用到的 xml文件的一个特列,并且微软提供了通用的方法,在此就不赘述了) ...
- 使用Open Live Writer 的代码高亮插件体验
由于windows live writer 2012 已经停止服务,转而推出开源项目Open Live Writer .虽然Open Live Writer 也没怎么更新,官网更是一个插件都没有放出来 ...
- locate linux文件查找命令
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...
- mysql explain 命令简解
参考官方文档地址: http://dev.mysql.com/doc/refman/5.7/en/explain.html 为什么用explain . 如果你的页面返回结果很慢,你就需要使用expla ...
- [转]JavaScript ES6 class指南
[转]JavaScript ES6 class指南 前言 EcmaScript 2015 (又称ES6)通过一些新的关键字,使类成为了JS中一个新的一等公民.但是目前为止,这些关于类的新关键字仅仅是建 ...
- Delphi Window 消息大全使用详解
WM_CTLCOLORSTATIC = $0138; 当一个静态控件将要被绘制时发送此消息给它的父窗口:通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置静态控件的文本和背景颜色 ...
- CC++初学者编程教程(9) Windows8.1安装VS2013并捆绑QT与编程助手
我们在Windows8.1安装VS2013并捆绑QT与编程助手需要下列文件. 2. 在虚拟机中开启Windows8.1 3.然后选择VS2013的安装镜像. 4.将镜像复制到虚拟机. 5.我们装载这个 ...
- Android studio gradle配置!!!【转】
转自:http://www.open-open.com/lib/view/open1415793464648.html Gradle 基本概念 首先我们学习几个gradle 的脚本语法,掌握了这几个语 ...
- iOS多线程系列(1)
多线程这个概念的接触是蛮早的时候了,当时还是单核单CPU的时候,Thread这个概念已经出现了,当时比较流行的方案是时间片轮流,线程可以优先级抢占,但一次只能运行一个线程,实际上多线程是不能真正并行处 ...
- node配置运行环境变量;
node express 在开发环境和生产环境运行的代码是不一样的, 通常是先配置好的,在开发环境运行一套代码,在生产环境运行另一套代码, 开发环境 development, 生产环境producti ...