一、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

输入

Input Password | locator | text
Input Text| locator | text
 

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自动化基础分享的更多相关文章

  1. Selenium基于Python web自动化基础一 -- 基础汇总及简单操作

    Selenium是UI层WEB端的自动化测试框架,也是目前市面上比较流行的自动化测试框架. ui层自动化测试本质是什么?模拟用户的真实操作行为. 基础汇总: 导入所需要的模块 from seleniu ...

  2. Web自动化基础(一)使用Selenium定位元素

    什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片,都可以理解成元素,这些元素是由html代码构成的,比如图片可以用<img>标签来展示,一个输入框可以用&l ...

  3. Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架

    一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  4. robotframework·WEB端基础

    date:2018526 day10 一.导入库 导入的库分两种,一种是导入常用库,如String.Collections等(Library String.Collections,再运用库中的关键字) ...

  5. Web自动化必会知识:「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」

    1.web 基础-html.dom 对象.js 基本语法 Dom 对象里面涉及元素定位以及对元素的修改.因为对元素操作当中涉及的一些 js 操作,js 基本语法要会用.得要掌握前端的基本用法.为什么要 ...

  6. 《Selenium+Pytest Web自动化实战》随到随学在线课程,零基础也能学!

    课程介绍 课程主题:<Selenium+Pytest Web自动化实战> 适合人群: 1.功能测试转型自动化测试 2.web自动化零基础的小白 3.对python 和 selenium 有 ...

  7. RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)

    好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...

  8. RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)

    本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...

  9. docker+headless+robotframework+jenkins实现web自动化持续集成

    在Docker环境使headless实现web自动化持续集成 一.制作镜像 原则:自动化测试基于基础制作镜像 命令:docker run --privileged --name=$1 --net=ho ...

随机推荐

  1. nginx 禁止非指定域名访问

    nginx 配置如下: server { listen 80 default_server; server_name _; return 404; } # server conf server { l ...

  2. 批量处理csv格式转换成xls

    结合下面的代码学习相关模块及函数方法的使用 #coding:utf-8 #导入相应模块 import csv import xlwt import sys import os import fnmat ...

  3. CSS自学笔记(13):CSS3 2D/3D转换

    CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transfo ...

  4. Delphi检测网络连接状态

    有时候,我们做一些小软件就需要检测网络连接状态,比如想给你的软件加上类似QQ那样的系统消息,可是像我这样的穷人肯定是买不起服务器了,那我们只好另想办法,可以读取网页然后用浏览器显示,这个时候就需要判断 ...

  5. <!DOCTYPE html>

    html5标准网页声明,原先的是一串很长的字符串,现在是这个简洁形式,支持html5标准的主流浏览器都认识这个声明.表示网页采用html5.

  6. 使用 rpython 在 windows 下生成的程序无法运行

    在 windows 用rpython编译出的文件总是无法运行,报 通过跟踪发现,rpython 每次都会将生成的C代码.Makefile 等放置在 %TEMP%\usession-release-2. ...

  7. Guava缓存器源码分析——删除消息

    Guava缓存器的删除消息机制 测试代码——             LoadingCache<String, Integer> cache = CacheBuilder.newBuild ...

  8. C-Free 您不能使用调试解决方案

    什么时候C-Free 当您调试 找不到gdb.exe解决方案 http://www.programarts.com/ C-Free 官方网站 下载Mingw或者其他编译器 版权声明:本文博主原创文章. ...

  9. 兔子--Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK

    错误原因: Activity打开别的Activity的时候会默认把新的Activity放到自己的task中,所以不用指定,可是别的地方就得指定了. 解决的方法:intent.addFlags(Inte ...

  10. Thrift使用实例

    首先下载thrift.exe,和对应lib包.注意版本一定要一致. 否则编译会不识别出现错误. 可能会出现org.slf4j这个错误,那么你要把slf4j-api.jar下载下来引入到你的projec ...