Robot Framework ( 一 )

1.变量

变量分类:Scalar 标量类型、List 列表类型、Dictionary字典类型

变量的作用域:默认只在当前作用域内有效,可以通过关键字Set Globol Variable、Set Suit Variable、Set Test Variable 改变变量的作用域

LSIT:
定义:@{list}
打印有两种方式:
方式一:Long Many @{list}, 循环迭代每个值
方式二:Log ${list}, 打印整个列表不会循环迭代

Dictionary:
定义: &{dictionary}
打印: 与list一样

2.自定义关键字

2.1自定义无参关键字

新建步骤:
新建资源文件:TestResource01.robot

New User Keyword:

填写关键字名称:

做一个简单的输出:

使用:
在TestSuite中引入关键字:

直接调用:

输出:

2.2自定义关键字带参

有参数的关键字,如果没有给参数,后面会有红色的提示,几个格子代表几个参数没给

2.3 默认参数

利用Log打印hello world

RF 类库和扩展库

  • 标准库
    • BuiltIn(测试库)
    • Collections(集合库)
    • Data Time(时间库)
    • Screenshot(截屏库)

标准库的位置:

\python38\Lib\site-packages\robot\libraries
  • 扩展库
    • web自动化测试: SeleniumLibary
      安装: pip install robotframework-seleniumlibary
    • 接口自动化测试:RequestLibary
      安装: pip install robotframework-requests
    • app自动化测试: AppliumLibary
      安装:pip install robotframework-appiumlibrary

简单关键字

执行输出:

20220105 15:42:33.566 :  INFO : hello world
20220105 15:42:33.566 :  INFO : ${a} = 100
20220105 15:42:33.566 :  INFO : 100
20220105 15:42:33.566 :  INFO : ${time} = 2022-01-05 15:42:33
20220105 15:42:33.566 :  INFO : 2022-01-05 15:42:33
20220105 15:42:33.566 :  INFO : ${str} = 你好 啊 张飞
20220105 15:42:33.566 :  INFO : 你好 啊 张飞
20220105 15:42:33.572 :  INFO : ${str2} = 你好#啊#张飞
20220105 15:42:33.572 :  INFO : 你好#啊#张飞
Ending test: Demo.Moudle.Submoudle.Login.测试Case

列表和字典的使用

输出:

20220105 16:13:20.667 :  INFO : ${list} = ['关羽', '刘备', '诸葛亮']
20220105 16:13:20.667 :  INFO : ['关羽', '刘备', '诸葛亮']
20220105 16:13:20.668 :  INFO : ${zidian} = {'name': '郭嘉', 'age': '24'}
20220105 16:13:20.668 :  INFO : {'name': '郭嘉', 'age': '24'}
20220105 16:13:20.668 :  INFO : ${keys} = ['age', 'name']
20220105 16:13:20.669 :  INFO : ['age', 'name']
20220105 16:13:20.669 :  INFO : ${values} = ['24', '郭嘉']
20220105 16:13:20.669 :  INFO : ${value} = 郭嘉

@list 方式定义列表

输出:

20220105 17:27:03.757 :  INFO : @{list} = [ 关羽 | 刘备 | 诸葛亮 ]
20220105 17:27:03.758 :  INFO : 关羽
20220105 17:27:03.758 :  INFO : 刘备
20220105 17:27:03.758 :  INFO : 诸葛亮
Ending test: Demo.Moudle.Submoudle.Login.流程控制

导包

如下通过key 获得值(Get From Dictionary)需要导入Collections才能使用

Evaluate 关键字执行python方法

输出:

20220105 16:44:39.435 :  INFO : ${num} = 1
20220105 16:44:39.435 :  INFO : 1
20220105 16:44:39.435 :  INFO : ${x} = 10
20220105 16:44:39.436 :  INFO : ${y} = 20
20220105 16:44:39.438 :  INFO : ${result} = 1020

步骤:
1.使用Import Libary 关键字导入外部py文件
2.输入方法名和参数
3.输入数字时要用int转换

流程控制

if

Run Keyword If
... ELSE IF
... ELSE

for

输出:

20220105 17:19:03.343 :  INFO : 张飞
20220105 17:19:03.358 :  INFO : 刘备
20220105 17:19:03.358 :  INFO : 曹操
20220105 17:19:03.359 :  INFO : @{list} = [ 1 | 2 | 3 ]
20220105 17:19:03.359 :  INFO : 1
20220105 17:19:03.360 :  INFO : 2
20220105 17:19:03.361 :  INFO : 3
20220105 17:19:03.361 :  INFO : ============================
20220105 17:19:03.362 :  INFO : 1
20220105 17:19:03.363 :  INFO : 2
20220105 17:19:03.364 :  INFO : 3
20220105 17:19:03.364 :  INFO : 4
20220105 17:19:03.365 :  INFO : 5
20220105 17:19:03.366 :  INFO : Exiting for loop altogether.

截图的简单使用

1.首先要导入Screenshot包

2.使用关键字Take Screenshop 关键字

输出:

20220105 20:10:18.886 :  INFO : <a href="screenshot_1.jpg"><img src="screenshot_1.jpg" width="800px"></a>

3.查看报告
a)

b)

posted @ 2022-01-05 15:02  chuangzhou  阅读(76)  评论(0编辑  收藏  举报