RF自动化测试框架搭建

1 Robot Framework优劣势

  1. 优点:关键字驱动,语法简单,通俗易懂良好的拓展性。 开源工具,唯⼀的有操作界⾯的框架。

  2. 缺点:网格编辑弱化代码能⼒。不易⾃定义测试报告。

2 安装步骤:

    本教程为Windows环境下安装Robot Framework自动化测试环境。

2.1 RF环境安装

2.1.1 安装Python

    由于后续IDE安装依赖问题,请安装python3.7.x,同时勾选默认进行环境变量配置。

    python-3.7.9-amd64.exe

  • 更新pip命令(使用清华镜像, 下载更快更稳定)

python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

安装robotframework (必须该版本号,新版本不稳定)

    pip install robotframework==5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

  • 安装ride编辑器

    pip install robotframework-ride==1.7.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

    提示:Successfully installed

                PyPubSub-4.0.3

                Pygments-2.11.2

                Pywin32-303

                numpy-1.21.6

                pillow-9.1.0

                robotframework-ride-1.7.4.2 six-1.16.0

                wxPython-4.0.7.post2

    会⾃动安装上述依赖库,中途会弹窗是否创建快捷⽅式,建议选否。

3 启动IDE

命令⾏输⼊ride.py,启动rf,也可以将此命令制作成批处理命令放桌⾯(桌⾯新建txt⽂件,输⼊ ride.py,将txt⽂件后缀名改为bat即可)

4 异常处理

1) ride控制台乱码

解决⽅案:编辑D:\Python3.7\Lib\site-packages\robotide\contrib\testrunner⽬录中的testrunnerplugin.py⽂件,将565⾏的SYSTEM改成OUTPUT

2)解决接⼝测试时发送https请求,控制台输出InsecureRequestWarning提示

虽然该警告不影响接⼝测试,但是频繁出现看着还是很不顺眼,尤其是在输出⽇志和报告的时候。

解决⽅案:编辑D:\Python3.7\Lib\site-packages\urllib3⽬录中的connectionpool.py⽂件,简单粗暴的将996到1005⾏的代码注释掉,则不会出现警告信息了.

3.乱码问题

解决方法: 进入Python目录下\lib\site-packages\robotide\application\目录,打开application.py文件 在第50行,将self._initial_locale = wx.Locale(wx.LANGUAGE_ENGLISH) 替换为: self.locale = wx.Locale(wx.LANGUAGE_CHINESE_SIMPLIFIED) 或者 self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)

5 Robot Framework常用库

1.标准库

Robot Framework可以直接导入使用的库,包括:

  • Builtin:包含经常需要的关键字。自动导入无需import,因此总是可用的

  • Dialogs:提供了暂停测试执行和从用户的输入方式。

  • Collections:提供一组关键词处理Python列表和字典。

  • OperatingSystem:允许执行各种操作系统相关的任务。允许执行各种操作系统相关的任务,使各种操作系统相关的任务在robotframework正在运行的系统中执行。

  • Remote:远程库接口的一部分。没有自己的任何关键字,作为robotframework和测试库之间的代理的特殊库。实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现。

  • Screenshot:提供关键字来捕获和存储桌面的截图。

  • String:用于处理字符串并验证它们的内容的库,用于生成、修改和验证字符串

  • Telnet:支持连接到Telnet服务器上打开的连接执行命令。

  • XML:用于生成、修改和验证XML文件的库。

  • Process:系统中运行过程的库。

  • DateTime:日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算

2.扩展库

Robot Framework需要下载安装后才能使用的库,包括:

  • Android library:所有android自动化需要的测试库,内部使用的是Calabash Android

  • iOS library:所有iOS自动化需要的测试库,内部使用Calabash iOS服务

  • appiumlibrary:Android和iOS测试库,内部使用的是appium

  • HTTP library (livetest):内部使用LiveTest工具的HTTP测试的库。

  • HTTP library (Requests):内部使用request工具的HTTP测试的库。

  • MongoDB library:使用pymongo和MongoDB交互的库。(MongoDB是一个基于分布式文件存储的数据库)

  • Database Library (Java):基于Java的数据库测试库。也可使用Jython和Maven central.

  • Database Library (Python):基于Python数据库测试库。支持任何Python解释器,包括Jython。

  • watir-robot:使用Watir的工具的Web测试库。

  • seleniumlibrary:Web测试库,内部使用比较流行的selenium工具。利用早期的selenium1.0和本身已经过时。

  • selenium2library:使用selenium2的Web测试库。替换了大部分老的seleniumlibrary。

  • selenium2library java:selenium2library的java接口

  • Django Library:为Django的库,一个Python Web框架。

  • sudslibrary:一种基于泡沫基于SOAP的Web服务的功能测试库,动态的SOAP 1.1的客户端。

  • Archive library:处理.zip和.tar压缩包的库。

  • Diff Library:比较两个文件的库。

  • FTP library:Robot Framework上测试和使用FTP服务的库。

  • SSHLibrary:通过SSH连接的在远程机器上执行命令。还支持使用SFTP进行文件传输

  • rammbock:通用的网络协议测试库;提供简单的方法来指定网络数据包,并检查发送和接收数据包的结果。

  • imagehorizonlibrary:跨平台、基于图像识别的GUI自动化纯Python库。

  • autoitlibrary:Windows的GUI测试库,使用AutoIt的免费工具作为驱动。

  • Eclipse Library:使用SWT窗口小部件测试Eclipse RCP应用程序的库。

  • robotframework-faker:一个服务faker的库,faker的测试数据生成器。

  • swinglibrary:用Swing GUI测试java应用程序库

  • remoteswinglibrary:使用swinglibrary库测试和连接一个java进程,尤其是java web

start的应用。(Java Web Start 是基于 Java 技术的应用程序的一种部署解决方案,它是连接计算机和 Internet的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序)

3.备注

1)标准库引用

Builtin:使⽤前⽆需导⼊ log,set variable,create list,create dictionary, Should Be Equal As Strings Colections:提供了⼀组关键字处理python列表和字典,需要导⼊,append to list,Get Dictionary Keys DateTime:⽇期和时间转换的库,使⽤前需导⼊,get current date String:⽤于处理字符串并验证他们的内容,需要导⼊,Convert To Upper Case,Generate Random String

2)扩展库引用前,需要导入

4 扩展库安装

pip install robotframework-seleniumLibrary==4.2.0 -i https://mirrors.aliyun.com/pypi/simple/ 

pip install robotframework-appiumlibrary==1.5.0.6 -i https://mirrors.aliyun.com/pypi/simple/

pip install selenium==3.141.0 -i https://mirrors.aliyun.com/pypi/simple/

pip install robotframework-requests==0.9.2 -i https://mirrors.aliyun.com/pypi/simple/

pip install robotframework-pabot==2.5.3 -i https://mirrors.aliyun.com/pypi/simple/ 

pip install robotframework-databaselibrary==1.2.4 -i https://mirrors.aliyun.com/pypi/simple/

pip install PyMySql -i https://mirrors.aliyun.com/pypi/simple/ 

pip install robotframework-SSHLibrary==3.8.0 -i https://mirrors.aliyun.com/pypi/simple/

pip install robotframework-ftplibrary==1.9 -i https://mirrors.aliyun.com/pypi/simple/ 

pip install -U robotframework-csvlibrary==0.0.5 -i https://pypi.tuna.tsinghua.edu.cn/simple

先行pip下载 HttpLibrary pip install robotframework-httplibrary==0.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

然后修改脚本中代码格式 D:\Program Files\Python\Lib\site-packages\HttpLibrary

复制livetest-0.5到 ../site-packages/livetest-0.5 python setup.py install

特别注意:

  1. 导包时⼀定要和⽂件夹的名字⼀致,包括⼤⼩写

  2. 放⼊requirements.txt⽂件中,切换到requirements.txt⽬录,通过pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 批量安装

robotframework robotframework-ride robotframework-selenium2library robotframework-seleniumlibrary==3.0.0 robotframework-requests robotframework-appiumlibrary robotframework-databaselibrary

5.安装浏览器驱动

1)下载driver驱动

chromedriver下载地址(注意需要与谷歌浏览器版本对应):

CNPM Binaries Mirror chromedriver 下载完成解压后,将chromedriver.exe文件放到python安装目录(D:\ProgramFiles\Python37)。

6 常⽤快捷键:

搜索关键字 F5 显示关键字⽤法

ctrl+⿏标悬浮(⿏标悬浮于关键字上)

⾃动带出相关键字 alt+shift+空格

在某⼀⾏上⾯插⼊⼀⾏:ctrl+i

删除某⼀⾏:ctrl+d

在某个单元格前⾯插⼊单元格: ctrl+shift+i

删除某个单元格: ctrl+shift+d

注释某⾏代码:ctrl+#

解除注释:ctrl+$

局部保存:ctrl+s

保存整个⼯程:ctrl+shift+s

查看log:ctrl+l

查看report:ctrl+r

7 附件

链接:https://pan.baidu.com/s/1wMS67OIC-fX3iL0gFey5qw?pwd=n7k0 
提取码:n7k0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值