关于RF做自动化大致流程的梳理
RF只是一个框架,类似于单元测试框架,可以实现对用例的有效管理。结合其它第三方库,可以进行,接口,数据库,APP的自动化测试。结合JENKINS,还可以进行有效的持续集成。
本文不讲调用第三方库的哪些关键字,只是简单梳理一下运用RF的一些基本流程。
一,RF的安装。
分为在线安装和离线安装。
我都是用的在线安装,离线安装的话可以参考“道长”写的RF的书中有关于离线安装的下载地址。
在线安装有个好处,就是第三方库所依赖的插件,别的库,都会自动装好。
在线安装的步骤:(其实“道长”都有介绍),主要是利用pip命令。
1,安装python,我用的是python2
2,安装robotframework,:pip install robotframework
3,安装setuptool,直接点击,一路下一步。最后配置环境变量。
4,安装wxpython,:pip install wxpython
5,安装ride: pip install robotframework-ride
因为PYTHON中自带有PIP,所以没有讲PIP的安装。
安装好后,配置下环境变量,就OK了。最后,CMD,输入ride.py就可以弹跳出,RF的界面了。(另外还有几种打开方式,自己可以百度,很简单的。)
2,RF做自动化测试依赖的几个常用的第三方库,分别为:Selenium2Library(UI自动化),Collections(同上),String(同上),DatabaseLibrary(数据库自动化),RequestsLibrary(接口自动化)
其中需要注意的是,selenium2Library,databaselibrary,requestslibrary,需要先安装,然后重启后,才能导入成功。
RF中的BuildIn库中的关键字经常使用。
3,RF中的分层思想。(在程序设计的讲究设计模式,设计模式其实就是根据需求使用抽象与封装,其实就是分层思想。把一个实现过程分成不同多层。提高的灵活性,从而达到可扩展性和可维护性。)
RF中新建项目后,我是先把几个常用库先导入后,再进行用例的设计。
首先是环境的管理等数据的准备,再进行用例的设计,然后关建字(我是分为:公共关键字与业务关键字两种)的编写,最后整理一套用例模板。
我平时工作的顺序是:理解需求后,先设计一下哪些部分需要做自动化测试,哪些部分不需要(具体项目具体分析,根据需求来的)。确定需要做自动化的部分后,然后先把一些常用的公共关键字封装一次,再写用例,碰到需要新的关键字时,再封装。当用例设计完成后。再编写业务关键字,并对用例进行第二次封装。然后就执行用例,维护用例,调优等工作,直到一切OK。
上面只是个大概的流程,具体的前提是功能已手工测试过。另外,有些是先进行接口测试,接口通过后,再进行UI层的自动化测试。
今天先写这么多,明天再补充。
关于RF做自动化大致流程的梳理的更多相关文章
- [每日电路图] 7、设计一个PCB的流程及细节·总结——给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章
前言 最近两天使用AD14软件设计了一个蓝牙防丢器电路板(PCB)图纸,中间有一些细节在本文中记录下,方便下次设计PCB时参考.也希望能给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章 ...
- 【原创】storyboard启动应用程序的大致流程
storyboard启动应用程序的大致流程 [原创] 转载请注明出处:http://i.cnblogs.com/EditPosts.aspx?postid=5395023 1. 用户点击APP图标—— ...
- 参与github上开源项目的大致流程和注意事项
Foreword github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践.接下来我就介绍一下参与github上开源 ...
- AppVeyor-CI为GitHub项目做自动化集成(dotnet为主)
travis-ci对dotnet的项目做自动化集成不太友好,尤其是使用mono的编译和不能使用MSTest进行自动化测试,所以转到appveyor进行. appveyor的配置非常简单,有两种方式: ...
- 记录archlinux中安装pcl的大致流程
贴一下pcl在github上的网址: https://github.com/PointCloudLibrary/pcl/ 从这个网址出发,一般能找到安装的 tutorial.以下只说一下在archli ...
- Unity3D|-XLua热更新用法的大致流程
xlua是由腾讯维护的一个开源项目,我们可以在github上下载这个开源项目并查看一些相关文档 官网:https://github.com/Tencent/xLua 配置文档:https://gith ...
- 【Golang 接口自动化00】为什么要用Golang做自动化?
为什么使用Golang做自动化 顺应公司的趋势学习了Golang之后,因为没有开发那么多的时间和项目来实践,怕步此前学习Java缺少练习遗忘殆尽的后尘,决定利用工作之余的时间把此前用Python的写的 ...
- 解析XML文档大致流程以及相关方法
---恢复内容开始--- 使用dom解析XML文档的大致流程(要导入dom4j)1:创建SAXReader2:使用SAXReader读取xml文档,并生成对应的Document对象,该对象保存了该文档 ...
- [iOS 高级] iOS远程推送与本地推送大致流程
本地推送: UILocalNotification *notification=[[UILocalNotification alloc] init]; if (notification!=nil) { ...
随机推荐
- eclipse 中的.classpath和.project文件的具体作用(转)
转载博客:http://www.cnblogs.com/panjun-Donet/archive/2010/08/25/1807780.html .project是项目文件,项目的结构都在其中定义,比 ...
- 2018icpc南京/gym101981 A Adrien and Austin 博弈
题意: n个连续排列的石子,每次只许拿连续的(中间没有空格)的k个,问你谁必胜 题解: 简单博弈,特判总数为0,k=1两种情况,其他情况先拿必胜,方法是拿掉中间的,然后对方怎么拿你镜面拿就行. #in ...
- 这里ajax需要改成同步
var flag = true; var title = $("#modal").find("input[name=groupname]").val(); /* ...
- A + B Problem II HDU - 1002
非常简单的大数加法,因为不会Java只能手写大数加法了;博客存一下以后回来看看 #include<bits/stdc++.h> using namespace std; +; char A ...
- C++异常处理try、catch 没有finally
程序的错误大致可以分为三种,分别是语法错误.逻辑错误和运行时错误: 1) 语法错误在编译和链接阶段就能发现,只有 100% 符合语法规则的代码才能生成可执行程序.语法错误是最容易发现.最容易定位.最容 ...
- editplus 正则表达式 分组替换
editplus :zz正则表达式替换 /开头的api+换行符 替换为 /开头的api+空格 \1后有空格 editplus :zz正则表达式替换 行首两个数字+换行符 替换为 行首两个数字+空 ...
- 马士兵对话京东T6阿里P7(薪水):月薪5万,他为何要离职?
马士兵大佬你知道吗? 你竟然不知道?你怎么可能不知道!你不知道是不可能的! 记得自己的第一行Java代码,你的Hello World是跟着谁学的吗?我的就是马士兵老师! 马士兵是唯一一个在当时讲课是让 ...
- 12-vim-撤销和删除命令-02-删除文本
删除文本 命令 英文 功能 x cut 删除光标所在字符 d(移动命令) delete 删除移动命令对应的内容 dd delete 删除光标所在行 D delete 从光标位置删除至行尾 注: 如果使 ...
- linux 之文件重命名
没有专门的重命名 命令 用 mv a b 就可以重命名了 mv :move 移动文件(延伸功能:重命名,linux系统没有专门的重命名命令) 基本格式: 移动文件:mv 文件名 移动目的地文件名 重命 ...
- 实现一个EventEmitter类,这个类包含以下方法: on/ once/fire/off
实现一个EventEmitter类,这个类包含以下方法: on(监听事件,该事件可以被触发多次)- once(也是监听事件,但只能被触发一次)- fire(触发指定的事件)- off(移除指定事件的某 ...