RFS的web自动化验收测试

RFS——RobotFramework+Selenium2library

第1讲 菜单栏&工具栏

前一讲已经看到咱们最新版本的工具界面了。html

我把RIDE的界面大体分了四个区域:菜单栏、工具栏、案例及资源区、工做区,以下图python

 

菜单栏:RIDE全部的功能都在这里面;浏览器

工具栏:比较经常使用的功能,能够快捷操做;工具

案例及资源区:这里将会是一个目录同样的树形结构(当前目前是刚打开的样子,里面只有一个空的external resources)测试

工做区:这里是咱们主要编辑案例,运行案例的操做区。ui

 

其实我一直在想,这个工具怎么讲你们更容易理解,最方便的应该是带着实际的例子结合操做来说解,这个确定会有。不过我以为仍是要对工具全面介绍一下先,固然对于菜单栏和工具栏,只是罗列功能描述,由于后面都会用到的;对于案例区和工做区,我会以实际案例进行讲解。编码

 

==菜单栏&工具栏==spa

这里不少你们都熟悉的经常使用命令就不细说了。其实大部分的命令在后面的讲解中还会出现的。因此每一个菜单里我找点重点来讲。.net

一、File 文件插件

 

Open 打开一个文件
Open Directory 打开一个目录

对应工具栏这2个图标:

 

 

Reload Directory 从新加载目录

对应工具栏的图标

这个功能是一个不错的改进,在用0.42的时候还没看到过,应该是最近新增长的。做用就是从新加载整个目录(或者说工程)。

在0.42的时候我通常都是用截图里Exit上面的最近打开的工程这个来作用做从新加载。

Save和Save All,对应图标:,应该不用细说了,你修改了多个文件,用右边的图标能够所有保存。

 

二、Edit 编辑

这里不少功能你们都很熟悉了,很少说了。

 

三、Tools 工具

 

Manage Plugins 管理插件
Search Unused Keywords 搜索没有使用的关键字
Preferences 参数配置
Preview 预览
Content Assistance 内容助手
Search Keywords 搜索关键字
View RIDE Log 查看RIDE日志

 

Run Test Suite 运行Test Suite
Stop Running 中止运行

最后2个的对应图标为

经常使用的:最后2个确定经常使用。

另外我认为比较经常使用的一个是F5-Search Keywords,对于咱们在写案例的时候能够方便的查找测试库的关键字及其参数和样例等。

另外一个是content assistance,不过这个功能有点不太方便,主要是快捷键,由于Ctrl+空格和咱们的中英文切换冲突了,而Ctrl+alt+空格又按着不太习惯。个人作法是把输入法的Ctrl+空格改为别的,这样就可使用了。

这里有个新增的功能Search unused Keywords=查找没有用过的关键字,关键字多了之后可能会有些没有用过的,这个能够比较方便的查找。

 

四、Navigate 导航

后退和前进,能够方便的在案例区进行跳转,对应图标

 

五、Run 运行(其实我以为这个名字不太合适,8过我也想不出叫啥名字更贴切,功能能够看下面的介绍)

 这个设置我没怎么用过,简单研究了一下,就是能够本身写好一些命令行的语句,能够直接经过菜单来运行。主要是针对经过命令行方式运行的一些命令,能够自定义菜单。

好比下面我简单配置了2个

再看run的菜单,就多了这2个了,能够直接点击运行。

点第二个运行一下看看,他直接在工做区增长了一个tab页,运行结果也显示在上面了,之后有空咱们再深刻研究这个。

 

六、Help 帮助

第2讲 案例及资源区

这个区域是咱们案例结构设计的一个关键区域,这里能够清晰的看到咱们整个工程的结构。

还记得安装篇里的样例么?以前写的比较简略,如今咱们重头作一遍。

一、首先,点击File-New Project

靠左侧不用怎么说了吧,你的工程名、父目录、建立路径。

从Tpye上来讲,分为文件和目录两种,区别嘛,看你的工程定,若是内容很简单,File类型的就能够,若是内容较多,从方便管理的角度来讲,选Directory的比较合适。

从Format上来讲,分为txt、tsv、html,比较推荐txt,便于维护和版本管理,后续的案例,咱们都是以txt为默认选择。

二、点击OK以后,工程建立成功,你会在左侧看到以下图(虽然目录有个+,不过里面是空的,点了也没用哈,不要觉得是程序问题微笑

三、在Test上点击右键,看到弹出菜单

四、这里有不少选择,后面用到的时候再细说。这里咱们选择New Suite,创建一个测试套件

看到这个图,比较一下和前面New Project的图有区别么?

其实,从根本上说,Project和Test Suite是同样的,若是硬要区分一下的话,个人意见是目录型的是Project,文件型的是Test Suite。

借用一下吴博PPT里的关系图来讲明一下:

图中,Project和Dir Test Suite是相同的,固然这里的Project也是Dir的,若是是File Project,那么他实际上是等同于File Test Suite。

做为一个目录型的Test Suite来讲,他们下面能够包含文件Test Suite或者目录Test Suite,层级能够很深。但咱们最终要用的TestCase只能在文件型的TestSuite下面。

你们能够本身建立一些复杂的目录结构来体验一下Project、TestSuite和TestCase的关系,同时为了印证我说的“Project 和Dir Test Suite是相同的”,你能够找一个你建立的目录型的TestSuite,使用RIDE的File下面的Open Directory打开你的这个目录。你会发现他和Project是同样滴~~同时,你在目录型的TestSuite上点右键,是看不到新增 TestCase的选项滴得意

 

五、好了,这里为了演示,咱们选择File类型的,点OK

 

六、在测试套件上点击右键

七、这时候有了New TestCase了,咱们点击New TestCase

 

八、起个名字,点击OK

看到测试套件前面多了个*么?这表示他是有了新的修改,尚未保存。咱们先保存一下。

九、既然我写了这个区域的名字是案例及资源区,和案例有关系的主要内容咱们都添加了,下面咱们来添加一下资源。

在File下面或者在咱们这个区域内的目录型图标(包括Project和那个一直有的External Resources)上点右键,都有New Resource这个操做,咱们点击它。

注:新版的RIDE的New Resource的位置调整到目录型图标那里了,即Project上面。而External Resources只能用来Add Resource了。

 

十、点击OK,咱们会看到这个资源出如今External Resources下面。

Resource和TestSuite最大的不一样就是图标上有个齿轮符号,另外就是显示的名称上多了扩展名 .txt

若是咱们等一下回到Windows目录下看一下的话,其实TestSuite和Resource都是.txt的文件,固然,如今去看也看不到,由于他并无实际的建立这个文件。

 

十一、接下来咱们要添加齿轮,哦,是User Keyword,在新增长的res1.txt上点击右键

选择New User Keyword

 

十二、先无论Arguments,输入名字打开浏览器,点击OK

此时就会看到一个齿轮增长在res1的下面,此时咱们保存一下,而后到Windows目录下看一看咱们的工程所在目录

能够看到res1.txt和测试套件.txt,都在里面了。他们一个是Resource,一个是TestSuite。

从区别来看,Resource能够看成是一个不能有TestCase的TestSuite,你能够对比一下前面的右键菜单截图,TestSuite只是多了一个New TestCase。

固然,Resource还多了一个Find Usages,这个功能的做用是找出这个Resource都在哪里使用了,因此Resource只是没有TestCase而已。

从图标上看,Resource多了一个齿轮,而齿轮正是User Keyword的图标,意思就是Resource是用来保存User Keyword的。虽然TestSuite下面也能够新增User Keyword,可是咱们并不建议你们这样作。首要的建议是:把User Keyword存放到Resource里

 第3讲 工做区EDIT-1

接着前面的来,从新打开咱们的RIDE,你会发现以前最后加的Resource的文件res1.txt不见了?实际上在Windows目录里仍是存在的。

 

主要的缘由是由于咱们没有加载这个Resource。

一、首先看测试套件的。选择测试套件后,看右侧工做区的Edit页

第一行的Source列出了这个TestSuite的路径

接着有个Settings,如今是隐藏了内容的,点击一下会显示出具体的Setting,下一讲专门介绍Settings。

再往下能够大致分红3个部分。

(1):加载外部文件

Add Library      :加载测试库,主要是[PYTHON目录]\Lib\site-packages里的测试库

Add Resource:加载资源,主要是你工程相关的资源文件

Add Variables:加载变量文件,这个没怎么用过,之后研究好了再发补丁文章。

(2):定义内部变量

Add Scalar:定义变量

Add List:定义列表型变量

(3):元数据定义

Add Metadata:定义元数据。我是直接翻译的,这个是新增长的部分,大概看了一下做用是在report和log里显示定义好的内容,格式和document同样。

 

咱们先把丢失的资源加上,点击Add Resource,如图

输入完整的文件名:res1.txt,点击OK。

看到这个蓝色的带连接的res1.txt就是加载成功了。若是路径或文件名写错了这里就是黑色的。

这时候再看左边,就会发现咱们的res1.txt又出来了,而且以前的位置是在external resource里,如今是在工程下面了。

这是由于咱们有一个TestSuite加载了resources,那么他们就是一个project里的了,因此会显示在一块儿。

 

二、对于project或者说目录的TestSuite来讲,他的工做区Edit页和文件型的TestSuite基本是同样的,区别只在于Settings里。

Resources的工做区Edit其实和TestSuite差异也不大,就是没有了metadata的部分,另外2个部分都有的。

 

三、对于TestCase和User Keyword来讲,右边的工做区Edit页也是基本同样,区别也只是在Settings里。

TestCase的

 

User Keyword的

能够从图中看到他这边是一个相似于excel的表格同样的区域,这里就是咱们的主要写脚本的地方了。

 

四、在写脚本以前,咱们先要加载一下测试库,测试库加到哪里其实都是能够的,由于selenium2lib的初始化设置里是GLOBAL,这样运行的时候会做用在全局。

  1. ROBOT_LIBRARY_SCOPE = 'GLOBAL'  

因此,对于咱们这个project来讲,加到测试套件和res1.txt上均可以,若是只加了一个,那么在没加测试库的那个下面写的脚本就是黑色的,提示找不到关键字,实际上运行的时候仍是会起做用的。

咱们先在测试套件来加一下,点击测试套件,在他的工做区点击Add Library,如图

输入Selenium2Library,点击OK。

这样还不算加载成功,成功的标志是按F5键,调出Search Keywords的界面

点击Source后面的下拉列表,在列表里看到Selenium2Library才算是加载成功。若是按照上面的方法进行没有加载成功的话请确认一下你的版本号,至少在我写本文的时候建议先从0.5.2开始装起。

下面就能够写脚本了,先写个open browser运行一下看看。

 

看到open browser的颜色不同凡响了么?RIDE早一些的版本是蓝色,如今他对各类不一样的关键字作了区分,能够自定义颜色。如今这个是默认的测试库的关键字颜色。

 

五、最后run一下吧。

 

ok,运行成功了,也打开网页了。RIDE的run页面也会显示出运行过程和结果。

 

细心的朋友会注意到,中间有几个问号,这里应该是显示中文的 测试套件 4个字,可是因为RF默认的编码不支持中文,须要咱们修改一下编码。

 

===RF2.6===——取自以前写的介绍篇里的内容。

•在[PythonDir]\Lib\site-packages\robot\utils下的encoding.py文件中,在文件上点击右键,选择Edit with IDLE打开文件,
找到def _get_output_encoding(): 原来的编码是’cp437’ 将其改为’ cp936’(简体中文,gbk) 。

 

===RF2.7===

若是你和我同样升级到2.7了,路径仍是在[PythonDir]\Lib\site-packages\robot\utils下,

不过你在encoding.py里找不到这个内容了,由于他们更新了。去哪里了呢?就在他下面一点,名字是encodingsniffer.py。

在文件上点击右键,选择Edit with IDLE 打开文件,像下图同样,把cp437改为cp936保存便可。

 

更新好了再执行一次脚本吧。

这回显示正常了。

相关文章
相关标签/搜索