话说之前自己写了个selenium的自动化框架,然后又研究了下RF,觉得RF这种基于关键字驱动的框架更为容易上手,当然在做一些比较繁琐的验证时,似乎还不是太灵活,不如自己写几行python来的实惠(也可能是自己还没有太精通吧),但总体来说,有很好的RIDE交互界面,对于无编程基础的人很容易上手,而且很给力,这里就来学习一下如何使用RF进行selenium、appnium以及使用requests进行接口测试

(一)Robot Framework介绍

robot framework是个通用的开源测试框架,支持关键字驱动,支持BDD,其case采用表格形式易读,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行,可以用于轮次很多的验收测试和验收测试驱动开发(ATDD),RF自身也有很丰富的内置基本库,此外有很好的扩展性,可扩展各种外置库(robotframework-appiumlibrary/robotframework-seleniumlibrary/robotframework-requests等等,具体自己去搜https://pypi.python.org/pypi?%3Aaction=search&term=robotframework&submit=search)。

(二)Robot Framework安装

1、安装python:建议安装python 2.7 ;下载地址https://www.python.org/downloads/

2、设置环境变量(计算机—属性—高级系统设置—环境变量—系统变量—Path,写入 C:\Python27 和 C:\Python27\Scripts(更改为您指定路径即可)。

3、安装pip: 现在get-pip.py ;下载地址https://pip.pypa.io/en/latest/installing/#id7 然后cmd下 python get-pip.py即可

python get-pip.py

4、安装Robot Framework:在 cmd下依次执行

pip install robotframework
pip install robotframework-ride
pip install robotframework-appniumlibrary
pip install robotframework-selenium2library
pip install robotframework-requests

5、在cmd下启动ride.py,会提示缺少wxpython

然后下载并安装wxpython: 下载地址 http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/ 选择与自己python版本一致的,直接安装,例如(wxPython2.8-win32-unicode-2.8.12.1-py27.exe),然后再启动ride.py

就可以启动ride了

(三)创建简单的RF项目

1、创建测试项目:选择菜单栏 File —>New Project,输入项目名称,选择 Directory type,选择目录。

2、创建测试suite:选中测试项目后右键,选择 New Suit,输入 name , 选择 File type。

3、创建测试case:选中TestSuite后右键,选择 New Test Case,输入 name 。

4、导入相关的库,例如Selenium2Library,点击testsuite,在Import处添加Library, 输入Selenium2Library

5、编辑测试用例

TestCase1
[Setup]
Open Browser http://gouwu.sogou.com
Wait Until Page Contains Element id=upquery 30 'tome out'
Input Text id=upquery 手机
Click Button id=searchbutton
Close Browser
[Teardown] Close all browsers

勾选新建的case,运行,OK!

关于RF如何使用变量,验证等等,在以后会详细讲解

【Robot Framework】robot framework 学习以及selenium、appnium、requests实践(一)的更多相关文章

  1. Entity Framework Code First学习系列目录

    Entity Framework Code First学习系列说明:开发环境为Visual Studio 2010 + Entity Framework 5.0+MS SQL Server 2012, ...

  2. Entity Framework 6.1 学习系列1--概况、安装

    原文:Entity Framework 6.1 学习系列1--概况.安装 Entity Framework:实体框架,看名字就知道是针对模型数据的.这是MS推出的一款ORM工具. 与NHibernat ...

  3. Entity Framework Code First学习系列

    Entity Framework Code First学习系列目录 Entity Framework Code First学习系列说明:开发环境为Visual Studio 2010 + Entity ...

  4. jqMobi(App Framework)入门学习(一)

    jqMobi(App Framework)入门学习(一) 1. 什么是jqMobi? jqMobi是由appMobi针对HTML5浏览器和移动设备开发的javascript框架.是个极其高速的查询选择 ...

  5. OpenCASCADE Application Framework Data Framework Services

    OpenCASCADE Application Framework Data Framework Services eryar@163.com 一.概述Overview OpenCASCADE的数据框 ...

  6. 分布式学习系列【dubbo入门实践】

    分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...

  7. R语言︱H2o深度学习的一些R语言实践——H2o包

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言H2o包的几个应用案例 笔者寄语:受启发 ...

  8. 8月自动化测试课程 - Selenium开源自动化测试实践

    8月自动化测试课程 - Selenium开源自动化测试实践 http://gdtesting.cn/news.php?id=35

  9. 推荐《深入浅出深度学习原理剖析与python实践》PDF+代码

    <深入浅出深度学习原理剖析与Python实践>介绍了深度学习相关的原理与应用,全书共分为三大部分,第一部分主要回顾了深度学习的发展历史,以及Theano的使用:第二部分详细讲解了与深度学习 ...

随机推荐

  1. C#深度拷贝和浅度拷贝方法

    C#浅度拷贝多用于值类型的复制,即 int a=1;int b=a; 设置b=2后不会影响a的值. 但如果对于引用类型class a=new class(); class b=a; 设置b.name= ...

  2. css3 弹框功能样式

    .message-box{ position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, ...

  3. HDU5128 细心、细心、细心

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5128 题意:给你n(n < 30)个点的坐标,然后让你求出这n个点能构成的两个最大矩形的面积,有 ...

  4. iOS开发ARC内存管理

    本文的主要内容: ARC的本质 ARC的开启与关闭 ARC的修饰符 ARC与Block ARC与Toll-Free Bridging ARC的本质 ARC是编译器(时)特性,而不是运行时特性,更不是垃 ...

  5. 在windows环境下,为什么要用Notepad++编辑?

    摘自廖雪峰的git教程之创建版本库 首先这里再明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外.版本控制系统可以告诉你每次的改动,比如 ...

  6. PAT (Basic Level) Practise:1019. 数字黑洞

    [题目链接] 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞” ...

  7. Swiper说明&&API手册

    最近使用Swipe.js,发现中文的资料很少,试着翻译了一下.能力有限,翻译难免错漏,欢迎指出,多谢! 翻译自:http://www.idangero.us/sliders/swiper/api.ph ...

  8. java中的final关键词

    参考资料: http://www.cnblogs.com/dolphin0520/p/3736238.html final是个修饰词,可以修饰类.方法.变量. 1. 修饰类 修饰类,就表示这个类不能被 ...

  9. union all 取代 select中的case when 提高查询效率

    首先union all不是适用于所有情况,其次,case when的可读性肯定要强.所以在不是特别在意性能的情况下, 可以考虑用case when. 再者,不是所有情况下的union all都要比ca ...

  10. Web存储(Web Storage)的浏览器支持情况

    所有很酷的功能特征的出现最关键的就是浏览器的支持情况,幸运的是,所有的现代浏览器都支持HTML5 Web存储(Web Storage),从IE8开始也支持它.HTML5 Web存储(Web Stora ...