robotframework基础学习(8)

  变量的使用

 

在 Edit 标签页中主要分:加载外部文件、定义内部变量、定义元数据等三个部分。

(1):加载外部文件Add Library:加载测试库,主要是[PYTHON 目录]\Lib\site-packages 里的测试库

Add Resource:加载资源,主要是你工程相关的资源文件

Add Variables:加载变量文件。

(2):定义内部变量Add Scalar:定义变量    Add List:定义列表型

导入库

 如果添加的库不存在或库名错误,将会红色显示,黑库正常表示正常。

如果你是在“测试套件”中添加的库,那么这个库中所提供的关键字可以被当前测试套件下的用例使用。

如果你是在“测试项目”中添加的库,当前项目下的测试用例不能使用库中的关键字,需要在用例相应的“测试套件”中再次添加

定义公共变量
点击 Edit 标签页右侧的“Add Scalar”按钮来创建变量。这里创建的变量可以被整个测试套件中的用例所使用。也可以认为是一个“公共变量‘’

  打印字典、列表,用log时,要用$符号,不能用& @ 符号。   或者log many,可以直接使用& @符号。

Tags :用于给用例添加标记。在Run时决定只执行打tag的用例,或skip打tag的用例。

Setup 和 Teardown:如果你了解 unittest 单元测试框架的话,一定对这两个单词不陌生。

setUp 用于设置初始化工作,在每一个测试用例前先被执行tearDown 方法在每个测试方法执行后调用,这个方法用于完成测试用例执行后的清理工作,如执行“close browser”关闭浏览器 。

 

=======================

【转载】https://www.cnblogs.com/pachongshangdexuebi/p/6693468.html

Builtin库提供常用的关键字

1、log

log 关键字就是编程语言里的“print”一样,可以打印任何你想打印的内容。

2、定义变量

通过“Set variable”关键字来定义变量

3、连接对象

“Catenate”关键字可以连接多个信息

加上“SEPARATOR=”可以对多个连接的信息进行分割。

4、定义列表

通过“Create List”关键字可以定义列表。每个字符串前面加 u,是为了统一编码问题,将字符串转为 Unicode 编码。

如果通过“@{}”去定义列表的话,可以通过“log many”关键字进行打印

5、时间的操作

 Robot Framework 中提供了“get time”关键字用来获取当前时间。

 

6、设置休眠时间

“sleep”关键字用来设置休眠一定时间,sleep 关键字默认以“秒”为单位。

7、if语句

通过“run keyword if”关键字可以编写 if 分支语句。

首先定义一个变量 a 等于 59 。
If 判断 a 大于等于 90 ,满足条件 log 输出 “优秀 ”;
不满足上面的条件,接着 else if 判断 a 大于等于 70 ,满足条件 log 输出 “良好”;
不满足上面的条件,接着 else if 判断 a 大于等于 60 ,满足条件 log 输出 “及格”;
上面的条件都不满足,else log 输出“不及格”。
注:注意 ELSE IF 和 ELSE 前面的三个点点点(...)。注意ELSE IF和ELSE要是大写。

8、for 循环

在 Robot Framework 中编写循环通过“:for”。通过“:for”定义 for 循环;in range 用于指定循环的范围。

例子1,这个例子为执行 10 次循环

注意:in range 定义为 10,它的范围是 0~9

例 2,遍历列表

“create list” 关键字用来定义列表(a,b,c),“@{}”用来存放列表。通过过“:for”循环来来遍历@{abc}列表中的字符。

例 3,循环中的判断

通过“Exit For Loop If”关键字时行 for 循环内的判断,当满足 Exit For Loop If 条件后,循环结束。

从执行结果看到当循环到字符 b 时,Exit For Loop If 条件成立,结束循环;通过 log 打印当前的字符 b。

9、强大的 Evaluate

因为通过它可以使用 Python 语言中所提供的方法

例 1,生成随即数

使用Evaluate关键字之后可使用Python中的类和方法

例 2,执行本地程序


通过调用 Python 所提供的 os 模块中的 system()方法可以执行本地 Python 文件。至于在.py 文件中
Python 可以做任何想做的事。
对于 system()方法来说,它也不单单可执行 Python 文件,任何在 cmd 命令提示符下可运行文件和命
令,它都可以执行。
不过,一般情况下不建议通过 system()方法去执行外部程序。这样做其实就脱离了 Robot Framework,
也就是说不管 Robot Framework 什么事了。我们尽量把要做的事情通过 Python 封装成关键字给 Robot
Framework 使用。

 10、导入库

(1)“Import Library”等同于 Python 语言中的 import。Robot Framework 会遍历 Python 安装目录下的相关目录查找“Selenium2Library”模块

(2)调用 Python 文件

首先创建 test.py 文件

#coding=utf-8
def add(a,b):
    return a+b
if __name__ == "__main__":
    a = add(4,5)
    print a

通过“Evaluate”转化成为 int 类型后,再调用 add 就得到了想要的结果。

11、注释

Robot Framework 中添加注释也非常简单。

(1)“Comment”关键字用于设置脚本中的注释。

(2)也可以像 Python 一样使用“#”号进行注释

 

转载于:https://www.cnblogs.com/ww-xiaowei/p/10342041.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

版本字符串比较工具接口常用接口函数

版本升级比较常用的接口,字符串解析,不是很难,但没必须重复造轮子,保存一份网上搜到的实现: /*** 比较版本号的大小,前者大则返回一个正数,后者大返回一个负数,相等则返回0** param version1* param version2* return…

[蓝桥杯]ALGO-188.算法训练_P0504

Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,Unclear和Nuclear、Rimon和MinOR都是Anagrams。编写一个程序,输入两个单词&#xff0…

什么是3-2混合

正如上面所述,电影转换成视频时,每秒24帧必须转成每秒60场(30帧)。实现这一点的方法是把电影的第一帧显示3场,然后把第二帧显示2场,再把第三帧显示3场,以此类推。这个3-2-3-2-3-2的顺序就被称为…

shell 的here document 用法、输入/输出重定向

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 什么是Here Document Here Document 是在Linux Shell 中的一种特殊的重定向方式&#xff0c;它的基本的形式如下 cmd << delimiter…

beta第二天

团队成员 郑西坤 031602542 &#xff08;队长&#xff09; 陈俊杰 031602504陈顺兴 031602505张胜男 031602540廖钰萍 031602323雷光游 031602319吴志鸿 0316206341.昨天的困难 陈顺兴&#xff1a;无 廖钰萍&#xff1a;无 吴志鸿&#xff1a;没有 雷光游&#xff1a;无 郑西坤…

void和void *

void f(void) { // 参数void可以省略cout << "aa"<<endl; } int t 22; int *a &t; void *p; // void *可以被赋值为其他类型 p a; cout << *(int *)p; // 使用的时候必须转到那个类型 转载于:https://www.cnblogs.com/pjishu/p/10343587.…

Android应用开发—Application

What is Application Application和Activity&#xff0c;Service一样是android框架的一个系统组件&#xff0c;当android程序启动时系统会创建一个application对象&#xff0c;用来存储系统的一些信息。通常我们是不需要指定一个Application的&#xff0c;这时系统会自动帮我们…

C语言符号

C语言运算符的优先级 一、运算符的优先级表 C 语言的符号众多&#xff0c;由这些符号又组合成了各种各样的运算符。既然是运算符就一定有其特定的优先级&#xff0c;下表就是C 语言运算符的优先级表&#xff1a; 注&#xff1a;同一优先级的运算符&#xff0c;运算次序由结合…

手机按键中控运行思路的个人理解

目前而言基本的自己理解的中控多线程脚本无非就是两种1.主代码作为脚本功能的载体 另外开辟一个线程作为和中控保持联系的部分(下面只是思路 无法直接运行)Import "zm.luae" zm.Init /* 该思路下的基本流程 从UI界面获取到云账号 和 本地的配置信息---->根据自己…

burp过期了,换一个

先从吾爱破解论坛下载工具&#xff1a;https://down.52pojie.cn/Tools/Network_Analyzer/Burp_Suite_Pro_v1.7.37_Loader_Keygen.zip 工具运行需要Java环境&#xff0c;请自行安装&#xff0c;此处不赘述。解压完后双击keygen 填一下License Text(随意)&#xff0c;然后点击Run…

加载一张图片到ImageView到底占据多少内存

https://blog.csdn.net/BUG_delete/article/details/79557939 简介 Android中经常要通过ImageView进行图片资源显示。在加载图片时&#xff0c;首先要考虑的两个因素就是体验问题和性能问题。 其中&#xff0c;体验问题是指图片显示的是否正确&#xff08;例如Universal-Imag…

mysql -u root -p 解释

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 mysql -u 用户名 -p 密码 是连接数据库服务器的命令。要求你输入自己连接数据库的用户名和密码。 考虑密码如果直接明文写在这条命令行…

hbase 概念

在hbase里面有几个通俗的名称会经常出现 1&#xff09;Hregion region 2&#xff09;Hregionserver regionserver 3&#xff09;Hmaster master 4&#xff09;Hmamstore memstore 5&#xff09;Hfile storeFile 1、什么是hbase&#xff1f; 1&#xff09;它是基于稀疏的、…

beta冲刺第三天

团队成员 郑西坤 031602542 &#xff08;队长&#xff09; 陈俊杰 031602504陈顺兴 031602505张胜男 031602540廖钰萍 031602323雷光游 031602319吴志鸿 0316206341.昨天的困难 陈顺兴&#xff1a;理解别人的代码 廖钰萍&#xff1a; 吴志鸿&#xff1a;无 雷光游&#xff1a; …

多线程详解

1. 进程与线程有那些区别和联系&#xff1f;   每个进程至少需要一个线程。 进程由两部分构成&#xff1a;进程内核对象&#xff0c;地址空间。线程也由两部分组成&#xff1a;线程内核对象&#xff0c;操作系统用它来对线程实施管理。线程堆栈&#xff0c;用于维…

AirPods的自动连接配对原理

首次连接 打开装有 AirPods 的充电盒&#xff0c;并将它放在 iPhone 旁边。此时你的 iPhone 上将出现设置动画。轻点「连接」&#xff0c;然后轻点「完成」。 就这么简单&#xff0c;而且会自动设置&#xff0c;实现与已使用同一 Apple ID 登录 iCloud 的任一支持设备搭配使用…

Linux chmod命令

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。 使用权限 : 所有使用…

模块化

我那进了"模块化研究"小组.所以嘞.研究模块化以及如何让项目的模块化更加合理和高效是我们小组的主要目的.首先&#xff0c;在实行模块化之前,得先巩固模块化开发的理论基础,因为理论是实践的基础。只有这样&#xff0c;在过程中理论与实践相结合,才有可能达到最满意…

1566:基础练习 十六进制转八进制

题目地址&#xff1a;https://acmore.cc/problem/LOCAL/1566 1 #include <iostream>2 #include <string>3 4 using namespace std;5 6 string HexToBin(string s) //16进制转2进制7 {8 string str "";9 for (int i 0; i < s.size(); i) 10…

利用fastjson对json转map的操作

String str "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; //第一种方式 Map maps (Map)JSON.parse(str); System.out.println("这个是用J…