七年老测试整理的RF框架大全,一看就会,一学就懂

1.RF框架

全称robot framework,一个基于python开发的,自动化测试框架,这个框架可以做:web自动化,接口自动化,APP自动化。

github官网

1).安装python 检查python环境 python -V或 pip -V

2).安装rf(dos命令里面输入) pip install robotframework 安装图形界面库 pip install robotframework-ride

3).启动RF,安装完成后有图标直接双击运行,找到ride.py运行。

4).RF项目

项目文件夹(project )->测试集(test suite)->测试用例(test case)

5). RF功能详解

(1).设置区

引用区:

参数区:

数据区:

2、RF关键字驱动

1).什么是关键字? 有特殊含义的单词

2).什么是关键字驱动?关键字驱动脚本是比较复杂的数据驱动技术的逻辑扩展,封装了各种基本操作,每个操作由相应的函数实现,开发脚本时不需要关心这些基础函数,而是用一系列关键字指定执行的任务。

用一个关键字完成某一个功能,以期望解决我们的问题。

3)、RF基础数据类型

(1)、变量 是计算机语言中能存储计算结果或能表示抽象概念。变量可以通过变量名访问。

赋值 ${x1}=set variable 123 等价于 设x1=123。 运算: ${x1}=evaluate ${x1}+${x2}

应用:获取网页的文本,然后断言。

(2)、数组 是有序的元素序列。用于区分数组的各个元素的数字编号称为下标。下标是从0开始。

@{list}= create list 1 2 应用:调用接口传参数的时候,可以用数组。

(3)、字典 数据字典:可以根据键,得到值;也可以更新键的值。

&{map}=create dictionary aa=AA bb=B B $(map['aa"])

应用:Json格式解析之后就是字典。

4)、分支和循环

(1)、条件运算 数值比较:大于:${x}>${y} 等于:${x}==${y} 小于:${x}<${y}

字符串比较 等于:"aa"=="bb" 包含: should contain

(2)、选择结构 IF语句 Run keyword if 如果条件为True,则执行关键字。

IF...ElSE Run keyword if

ElSE IF

ElSE IF

5)、RF两种数据结构(需要使用到的库:Collections)

线性结构 数组 @{list}:1 2 3 4 5 添加元素: Append To List

键值对结构 字典 &{map}:a=A b=B c=C 添加键值对到字典:Set To Dictionary

6)、数据结构应用

for 循环 循环就是一直重复操作

:FOR ${i} IN 1 2 3 4 5

:FOR ${i} IN RANGE 1 5

Exit for loop

数据结构遍历

数组遍历 :FOR ${i} in @{list} 字典遍历: @{keys} = Get Dictionary Keys ${map} 然后遍历key

7)、字符串处理和异常

(1)、字符串的拼接

变量 #临时拼接: aaa ${x} bbb #变量拼接:${str3}= Catenate SEPARATOR= ${str1} ${str2}

(2)、字符串包含

判断s1里面包含s2 '${s1}'._contains_('${s2}')

RF常用类库

1.标准库:不需要安装,直接用,RF自带。

BUitini(测试库) Collections(集和库) Datatime(时间库) ScreenShot(截屏库)

标准库的位置:C://python373\lib\sit-pakage\robot\librarys

2、扩展库:需要安装后才能使用

Web自动化测试:SeleniumLibrary、Selenium2Library、Selenium2Library for java等

API接口自动化:RequestsLibrary

APP自动化测试:AppiumLibrary

扩展库的位置:C://python373\lib\sit-pakages

准备UI自动化测试环境

1:通过pip安装扩展库:pip install robotframework-seleniumlibrary

2:下载谷歌浏览器

3:下载谷歌浏览器驱动(注意:谷歌浏览器的驱动必须和谷歌浏览器兼容)把chromdedriver.exe放到python目录下。

4:在RF的测试套件里面导入SeleniumLibrary

元素定位

id 、name、link_test、partial_link_text、xpanth、css、class_name、tag_name

前提:元素必须唯一

xpath:

1.通过绝对路径定位:这种方式几乎不用

2.通过相对路径定位://form/span/input

3.通过元素属性定位://input[@autocomplete="off"] //input[@autocomplete="off" and @class="s_ipt"]

4.通过部分属性定位://input[starts-with(@autocomplete,"of")] //input[contains(@autocomplete,"of")]

5.通过文本定位://a[text()="新闻"]

css:

1.通过绝对路径定位:这种方式几乎不用

2.通过ID或者class定位:#ID .class

3.通过元素属性定位:input[autocomplete="off"] input[autocomplete="off" a][ class="s_ipt"]

4.通过部分属性定位:input[autocomplete^="of"]以...开始 input[autocomplete$="of"] 以....结束 input[autocomplete*="of"] 包含....

5.通过子元素定位:div#s-top-left a:nth-child(3)

项目的三层架构

1.三层架构指的是什么?

(1)页面元素层 (2)业务逻辑层(3)测试用例层 业务逻辑层调用页面元素层,测试用例层调用业务逻辑层

2、为什么需要分层,分层的意义在哪里?

实现页面元素,公共方法,公共数据,测试用例集中式管理。增加脚本的重复利用率,增加脚本的可维护性.

RF非GUI的方式(命令行)运行

pybot -d 测试报告的路径 测试用例的路径

Jenkins : Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢软测的小北葵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值