RobotFrameWork关键字驱动自动化测试框架详细说明

RobotFrameWork说明

本文是对robotframework的简单说明,如果对各位有帮助,就是对博主的最大安慰

简介

robotframework简称RF,是一款基于python语言的跨平台的开源的关键字驱动自动化测试框架,是基于自己独有的表格形式来实现应用的:

特点

1.开源,跨平台
2.除了自带的库之外,还支持很多扩展库(web自动化测试库,接口自动化测试库,app自动化测试库)
3.编写用例简单,可以在robot或者在txt中
4.可以直接生成html的测试报告和测试日志
5.可以以GUI的方式进行运行,可以和svn,git,jenkins实现持续集成
6.可以根据项目自定义一些关键字
7.可以使用python自定义的模块和python内置的一些库

安装和环境配置

1.需要安装python3.7版本
2.在DOS窗口输入:pip install robotframework==3.1进行安装
3.安装robotramework界面工具: pip install robotframework-ride

RF库介绍

1.标准库
collecetions 集合库
datetime:时间库
screenshot:截图库
2.扩展库
①web自动化测试扩展库:SeleniumLibrary
安装:pip install robotframework-seleniumlibrary
②接口自动化测试扩展库:RequestsLibrary
安装:pip install robotframework-requests
③app自动化测试扩展库:AppiumLibrary
安装:pip install robotframework-appiumlibrary

RF关键字的使用

-Comment 注释
-Log:将信息在控制台输出
-Set Variable 设置变量 ${a} Set Variable 变量值
-Get Time:获得系统时间 : ${time} Get Time
-sleep :强制等待
-Catenate 字符串的拼接: ${str} Catenate 343,434,34
-Create List :创建列表
- ${list1} Create List 324,43243,4324,输出用Log
-@{list2} Create List 4324,43243,4324,输出用LogMany
-Create Dictionary:创建字典
- ${dic} Create Dictionary name=4324,age=12 :创建列表
- ${dic_key} Get Dictionary Keys ${dic} :从字典中获取key的值
- ${dic_value} Get Dictionary Values ${dic} :从字典中获取value的值
- ${value} Get From Dictionary ${dic} name :通过key获取value的值
-Evalute:执行python里面的方法和模块,modlues用来导入模块名称
- ${random_number} Evalute random.randint(1,100) modlues=random
- ${time} Evalute time.time() modlues=time
-Import Library :导入python自定义的模块
-Import Library D:/test.py
-流程控制
-Run KeyWord If if条件判断,格式:
Run KeyWord If ${age} >30 Log “nianf”
… ELSE IF 18< ${age} <28 Log “nianf”
…ELSE Log “nianf”
-for循环
1.FOR ${a} IN RANGE
Log ${a}
END
2. ${list1} Create List
FOR ${a} IN list1
Log ${a}
END
3.FOR ${a} IN fds,fdsf,fsf
Log ${a}
END
-退出循环
Exit For Loop
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RFweb自动化环境搭建

1.安装pip install robotframework-seleniumlibrary
2.在ride资源文件中导入:SeleniumLibrary,导入成功后是黑色,如果导入失败,是红色显示
在这里插入图片描述
3.浏览器的一些关键字操作
-Open Browser :打开浏览器 Open Browser http://www.baidu.com chrome(需要谷歌浏览器驱动)
-Set Browser Implicit Wait:隐性等待时间
-Maximize Browser Window :最大化窗口
-Go Back:回退
-Go To:回到原来的位置
-Reload Page:刷新网页
-Get Title:获取浏览器的标题
-Get Location:获取浏览器的url
-Close Browser :关闭浏览器
在这里插入图片描述
在这里插入图片描述

4,。元素定位:
-xpath
-id
-name
-class_name
-link
文本框的定位一般关键是:Input Text,按钮的点击一般是:Click Element,Get Text获取文本的值

UI框架分层设计

-新建一个项目:new_project
-项目下新建三个文件夹,格式是ROBOT
-在各个文件夹下新建如下内容:
1.新建测试套件:testsuit,格式是ROBOT,类型是file,用来存放测试用例
2.新建测试业务资源,用来存放测试的业务的关键字:new_resource,格式是TXT
3.新建测试元素资源:用来存放 测试元素的关键字:new_resource,格式是TXT
测试业务逻辑依赖于测试元素,测试用例依赖于测试业务资源
在这里插入图片描述
元素资源关键字例子:
在这里插入图片描述
业务资源例子:
在这里插入图片描述
测试用例例子:
在这里插入图片描述

断言

使用should be以下的关键字
在这里插入图片描述

RF接口自动化环境搭建

1.pip install rebotframework-requests
2.将RequestsLibrary导入到资源文件中
在这里插入图片描述
3.get接口请求
在这里插入图片描述
解释:${header} Create Dictionary 创建请求头
Create Session url http://xxxx ${header}:创建一个会话
Get Request url /xxx/xxx :创建一个get请求
${reponse.content} 返回一个请求体
To Json 转为json格式
4.post接口请求
在这里插入图片描述

解释:${header} Create Dictionary 创建请求头
Create Session url http://xxxx ${header}:创建一个会话
Post Request url /xxx/xxx json=xx:创建一个get请求
${reponse.content} 返回一个请求体
To Json 转为json格式

与jenkins持续集成

后续在补充....
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值