让腾讯测试工程师带你走入Robotframework自动化测试框架不为人知的秘密_robotframework自动化测试是什么工作

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

10.可以利用“标签”功能对测试用例进行分类和有选择执行。

11.支持关键字驱动、数据驱动和行为驱动。

12.利用已有的关键字,测试人员可以创建自己需要的关键字,形成更高级别的行为。

13.测试执行报告和日志是HTML格式,容易阅读。

14.Robot Framework并不是一款像QTP一样的自动化测试工具。它是一个自动化测试框架,或者说是一个自动化测试平台。

15.提供了测试执行事件的监听接口,并且可以自定义接口中的脚本。例如,某个用例执行前,“start_test”接口中的脚本就会被执行;用例执行结束后,“end_test”接口中的脚本就会被执行。而测试人员可以自定义“start_test”、“end_test”这两个接口的脚本。

16.提供了命令行接口和XML格式的输出。可以与版本管理工具结合,进行持续集成。

17.Robot Framework是通过测试库识别被测对象、操纵被测对象,有很多自带的或者第三方的开源测试库。例如,使用“selenium2Library”库测试web客户端。此外还可以测试java客户端、Win32客户端、SSH协议的字符终端等。

18.测试人员可以使用Python和java创建自己需要的测试库。

19.提供了远程测试执行接口,可以进行分布式测试执行。

3.RobotFramework框架安装用途

(1)必须先安装python环境

https://www.python.org/downloads/release/python-2713/

RF最大支持到python3.7。我们使用python3.5版本。

(2)安装robotframework

【1】进入dos窗口,输入pip install robotframework

【2】安装Seleniumlibrary  – 支持Selenium自动化RF扩展库

doc运行pip install robotframework-selenium​library

都安装好后可执行 pip list 查看robotframework 和 robotframework-selenuimlibraryd的版本

【3】Pycharm 安装插件 –  不同颜色高亮显示字体

在Pycharm中,点击file - settings - plugins ,点击Browser Repository,输入robot

安装IntelliBot  、 IntelliBot @SeleniumLibrary Patched、Run Robot framework TestCase(可惜我的Pycharm里没有这个)

也可以下载 IntelliBot插件
   https://github.com/jcyrss/songqin-testdev/raw/master/others/softwares/intellibot.jar
在Pycharm中,点击菜单 file - settings - plugins
在弹出对话框中 点击下方 按键install plugin from disk
选择下载的jar文件
 
如果pycharm高亮显示RF文件颜色不好看,可以导入settings.jar
pycharm 可以点击菜单 File -> Import Settings -> 导入下面的pycharm 配置文件
https://github.com/jcyrss/songqin-testdev/raw/master/rf/files/settings.jar 

【4】运行第一个自动化程序:

测试套件,就是测试用例的集合,一般把功能相关的测试用例组合起来放在一起,成为某个测试套件

1 创建一个新的项目, 创新一个目录后,创建测试套件或直接创建一个robot文件

如果New文件里没有Robot File,可以创建一个后缀为.robot的file

2输入自动化用例:

*** Settings ***
Library  SeleniumLibrary
 
*** Test Cases ***
百度搜索
    open browser                    http://www.baidu.com        chrome
    set browser implicit wait       5
    input text                      id=kw                      hello\n
    ${firstRet}=                    get text                   id=1
    should contain                  ${firstRet}                hello

3执行用例:

调试单个用例的时候可以直接点击Run 运行该用例

多个测试用例一起执行时,首先进入项目目录,执行dos窗口

执行所有用例:   robot  用例套件目录名称

执行目录下的一个用例:  robot  测试套件目录名称 / 测试用例名称.robot

执行目录下的一个用例文件的一个测试点:  robot  -t  testcase  测试套件目录名称 / 测试用例名称.robot

【5】第一个执行的时候,报错

检查后发现文件没有选择UTF-8

更改后,重新输入用例后再执行命令就完成了

绿色的PASS 代表通过

红色的Fail 代表失败

执行后可查看报告和日志

(3)安装框架的gui工具

pip install –i https://pypi.douban.com/simple robotframework-ride

(4)安装第三方库

1.web自动化库:(Selenium)

pip install –i https://pypi.douban.com/simple robotframework- seleniumlibrary

2.api接口自动化库:(Request)

pip install –i https://pypi.douban.com/simple robotframework-requests

二、RobotFramework底层库

https://robotframework.org/?tab=libraries#resourcesRobotFramework 底层库包含内置库和外部库,详细资料在可见https://robotframework.org/?tab=libraries#resources

RobotFramework 内置库:

Builtin: 提供基本操作的关键字,无需提前导入库(Library XXX)

Dialog: 提供暂停测试执行与用户进行交互对话界面方式的关键字

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

XML: 提供可以生成、编辑和验证XML文件库

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

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

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

RobotFramework 外部库目前支持Appium、selenium等库

SeleniumLibrary : 提供支持 Web 测试库

AppiumLibrary: 提供支持 Android 和 ios 测试库

Robotframework-faker :提供支持 faker 库

HTTP RequestsLibrary :提供支持使用Python Requests库对HTTP测试

三、RobotFramework软件Ride

我们打开ride软件,可以在该界面上创建我们脚本。

编辑测试脚本,提供两种方式 表格形式 和 文本形式

如下,给出了Robotframework测试套件编写,文本结构

*** Settings ***
Documentation     RobotFramework 测试脚本
Suite Setup       log    套件前置步骤
Suite Teardown    Log    套件后置步骤
Test Setup        Log    测试前置
Test Teardown     Log    测试后置
Library           Dialogs

*** Variable ***
# Documentation    设置全局变量

*** Test Cases ***
test
    [Documentation]    测试用例
    log    hello world

*** Keyword ***
关键字
    [Documentation]    自定义关键字

套件前置步骤
    log    套件前置步骤


四、编写RobotFramework用例

1.创建项目New Project

注:选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye为file,则只能创建测试用例,这不利于用例的管理。

2创建测试套件New Suit

右键点击Test,选择New Suit

注:选择file原因是,在file的测试套件下可以创建测试用例,如果是tpye为directory,还得重新再继续建file的测试套件,才能创建测试用例,因为测试用例只能在file类型下创建。

3.导入库

RobotFramework默认是存在BuiltIn这个库的,利用这个库是可以完成一些基本的操作的,但如果要进行不同的测试就是要导入不同的库文件的,进行不同的测试需要的库文件大致如下表所示:

在这里我们是要进行web自动化测试,因此我们在这里需要安装并导入Selenium2Library。

在测试套件界面选择Library进行导入相应库的操作

点击OK之后,如果导入成功则相应的库名会变成黑色,如果失败会变成红色

如果导入失败,在确保相应库安装成功的前提下,可能会存在以下几个问题:

1.在python的pip(python的包管理)都有的前提下,到robotframework-selenium2library的Github官方代码托管网站:https://github.com/robotframework/Selenium2Library上面下载zip文件,然后解压,从命令行进入robotframework-selenium2library-文件夹(就是刚才下载的源码文件,解压后得到这个文件夹),输入命令: setup.py install等待安装完成之后,进入RIDE,发现Selenium2Library可以加载成功,按F5,可以显示Selenium2Library的,安装完成。
        2.加载Selenium2Library时为红色,在D:\Python27\Lib\site-packages目录下有Selenium2Library文件夹扔报错:
加载Selenium2Library 所需要的库的文件,存放在D:\Python27\Lib\site-packages:easy-install.pth文件中,需要的文件有:

import sys; sys.__plen = len(sys.path)


![img](https://img-blog.csdnimg.cn/img_convert/329c68caacdcf87f663971d67567825b.png)
![img](https://img-blog.csdnimg.cn/img_convert/764ac0fb839ea01d0c820ccd0b27b425.png)
![img](https://img-blog.csdnimg.cn/img_convert/bd004d10a8395ec04af780d98221cd2f.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

-tPLsSIek-1715540502343)]
[外链图片转存中...(img-8Xsk8FGA-1715540502344)]
[外链图片转存中...(img-i0pY5z4T-1715540502344)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值