网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
前言
Python 是面向高级对象编程语言,由于自身具有易学习、易阅读,支持跨平台、可扩展可移植可嵌入的特点,让其可以接入第三方库。
Robot FrameWork是完全基于Python实现的开源的自动化测试框架,RF已经封装好的各个模块,基于关键字驱动的形式来实现的自动化测试。其case采用表格形式易读,且支持BDD,可容纳各种外置库,可以继承Selenium、Appium、Requests实现各类自动化
目前行业里,自动化测试框架主要有RobotFramework、Appium、Airtest等
Robot FrameWork是完全基于Python实现的开源的自动化测试框架,RF已经封装好的各个模块,基于关键字驱动的形式来实现的自动化测试。其case采用表格形式易读,且支持BDD,可容纳各种外置库,可以继承Selenium、Appium、Requests实现各类自动化
一、Robotframework框架概述
1.什么是Robotframework 框架?
Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。
2.RobotFramework框架优点
1.易上手,采用表格化编程,覆盖广泛人群使用
2.重用性好,可以使用现有的关键字组装成新的关键字
3.易扩展,可以使用Python等实现自定义测试库
4.易集成,提供命令行界面和xml 输出文件方便接入到持续集成系统
5.支持多类型的测试,如WEB测试、AOO测试、SSH、API接口等测试
6.易维护,可以支持数据驱动、变量控制、标记管理、级别设置对测试用例进行管理
7.良好的报告和日志展示,以HTML形式输出测试结果
8.测试用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔数据。可以方便的使用任何文本编辑器,或者EXCEL编辑测试用例。也可以使用HTML格式创建用例。
9.测试用例中支持变量使用,可以使用IF语句和FOR循环语句。
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-seleniumlibrary
都安装好后可执行 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
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
-7PniZ9GP-1715540464965)]
[外链图片转存中…(img-P6tpuKJl-1715540464965)]
[外链图片转存中…(img-BrlSZ7hp-1715540464966)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新