RFS的web自动化验收测试——第3讲 工作区EDIT-1

来源:互联网 发布:淘宝刷客兼职是真的吗 编辑:程序博客网 时间:2024/05/16 01:09

引言:什么是RFS——RobotFramework+Selenium2library,本系列主要介绍web自动化验收测试方面。

( @齐涛-道长 新浪微博)

 

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

 

主要的原因是因为我们没有加载这个Resource。

1、首先看测试套件的。选择测试套件后,看右侧工作区的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里的了,所以会显示在一起。

 

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

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

 

3、对于TestCase和User Keyword来说,右边的工作区Edit页也是基本一样,区别也只是在Settings里。

TestCase的

 

User Keyword的

可以从图中看到他这边是一个类似于excel的表格一样的区域,这里就是我们的主要写脚本的地方了。

 

4、在写脚本之前,我们先要加载一下测试库,测试库加到哪里其实都是可以的,因为selenium2lib的初始化设置里是GLOBAL,这样运行的时候会作用在全局。

[python] view plaincopyprint?
  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早一些的版本是蓝色,现在他对各种不同的关键字做了区分,可以自定义颜色。现在这个是默认的测试库的关键字颜色。

 

5、最后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保存即可。

 

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

这回显示正常了。

 

这一讲就到这里了。下一讲主要介绍不同的Settings里的内容。