RF之关键字、变量、循环
关键字的使用:
RF的能力是由关键字提供的,所以,我们必须对RF的常用关键字有个了解 。
最常用的关键字就在RF的关键字中。http://robotframework.org
其中Builtin是标准库中的内置库,Shotcuts Keywords就是关键字目录表。
关键字参数:
Should Be Equal 是否相等
Should Be True 特殊关键字 RF会直接用python解释器的eval函数,来解释这个参数表达式
*注意*:should be true和python的两个区别:1- 变量前面加个$符号 2- 不能中间有多于两个空格
Should Contains 是否包含
set Variable 设置变量 只支持赋值一个字符串给变量,若想赋值一个整数或浮点数,需用到Convert To Interger 或Convert To Number
log 日志
log to console 打印到控制台
sleep 睡眠
认识测试库:
通常,关键字是由测试库提供的,其实测试库就是python模块文件。关键字就是python库里面的函数和类的方法。
RF本身就是个python程序,所以它的寻找库文件和python是一样的,最终是通过sys.path。
我们在哪个目录下面运行robot,那个目录就是当前工作目录。当前工作目录就是在sys.path里面的。所以我们放在当前目录下的python模块文件,直接就能被找到。
RF使用函数名、方法名、大小写不敏感。
库的导入:
要使用测试库提供的关键字,我们必须要申明导入库。当然RF的Builtin库的关键字不需要申明。
库的名称在RF里是大小写敏感的。
有的库,在导入时可以提供参数。其实这些导入带参数的库,对应的测试库都是用类实现的。这些参数就是类的初始化方法__init__里面的参数。如下:
Library | SeleniumLibrary | 15
Library | SeleniumLibrary | 0 | 15 |
Library | SeleniumLibrary | 5 | run_on_failure=Log Source
变量的用法:
RF中的变量,实质上就是一个Python变量,它指向一个python 对象。所以RF变量对应的是什么python 对象,它就是什么类型的变量。
① Scalar方式
普通用法就是:${var}来表示
特点是:当我们把变量以Scalar方式传递给关键字作为参数时,就是直接把它对应的python对象传递给关键字对应的函数。
② List方式
如果RF变量实际指向一个Python List对象,可以把它以List方式传递给关键字作为参数。
List方式 是用@{var}的方式来表示。这种方式表示的变量叫做List变量。
List方式,实际上会展开其List中的每个元素,作为多个参数传入。
③ Dictionary方式
如果RF变量实际指向一个Python Dict对象,还可以把它以Dict方式传递给关键字作为参数。
Dictionary方式是用&{var}的方式来表示
Dictionary方式,实际上会展开其Dict中的每个元素,作为多个参数传入。
访问环境变量:
RF中可以用%{env_var}方式直接访问一个环境变量,比如 printarg %{path}
循环:
RF用:FOR来实现循环,没有while循环;
遍历List变量;
IN RANGE用法;
注意::FOR 前面的冒号不要忘记了;
如果后面的变量是个list,一定要写成@的形式,而不是$的形式;
for循环体内的语句,要缩进一个单元格,如果是纯文本文件,连续的空格是无法表示多个单元格的,RF只会当成一个。所以前面还要有一个反斜杠转义,表示这边有一个空的单元格。
range用法:使用in range 中间只能是一个空格 他们是一个组合 如下:
[Documentation] 打印0-9的数字
:for ${index} IN RANGE 10 注意:IN RANGE 必须大写,才会进行遍历
\ Log To Console ${index}
RF之关键字、变量、循环的更多相关文章
- python中非关键字可变长参数和关键字变量参数的区别
#非关键字可变长参数 def add(*arg): return type(arg) print add() #打印结果 <type 'tuple'> #关键字变量参数 def ab ...
- JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }
重复重复(for循环) 很多事情不只是做一次,要重复做.如打印10份试卷,每次打印一份,重复这个动作,直到打印完成.这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码. for语句结构: ...
- (1)c语言学习总结之从关键字到循环结构
一.关键字和标示符 1.关键字:c规定的有特殊含义的单词(也就是系统起的名字),全部是小写,有32个; 由关键字引出数据类型和流程类型 1.分类: (1)数据类型:整型用int标示,字符型用char表 ...
- Robot framework(RF) 用户关键字
3.6 用户关键字 在Robot Framework 中关键字的创建分两种:系统关键字和用户关键字. 系统关键字是需要通过脚本开发相应的类和方法,从而实现某一逻辑功能. 用户关键字是根据业务的需求利 ...
- py定义变量-循环-条件判断
定义变量 # print('hahaha')name = " let'go "title = '刘伟长得 "很帅"!'conent = ''' let' ...
- php 变量 循环关键词以及方法
<?php/* 多行注释 */常用数据类型int string double/float bool变量的定义$a = 123;$b = "123";$c = '456';$d ...
- sql 循环语句几种方式(变量循环,游标循环,事务)
--第一 ) ,),Orders )) declare @n int,@rows int --select @rows=count(1) from pe_Orders select @rows = ...
- 查找jar包中.class文件关键字(变量名,字符串)
有时查看日志,常常会发现由框架底层打印的错误日志.要修改这个错误的时候,如果不是对框架特别熟悉,就需要按照可能产生这个错误日志的流程一步一步找,一时半会不一定能找到.比如本人最近对smartfoxse ...
- C#--@符号的使用(逐字字符串,跨行,声明关键字变量名)
---对字符串的使用 @可以定义逐字字符串 注意:@只对字符串常量有用 1)不需要用\\来转义非转义符号的\号 例如:@"\"="\\"2)可以实现多行字符 ...
随机推荐
- android clipChildren 的使用与遇到的困难
案例 在一次我写画板模块的时候,布局比较普通,但是需要子元素溢出父元素.其中一小块布局如下所示: 红色部分需要溢出,这个时候我想到了clipChildren. clipChildren 就是说我可以不 ...
- [ch04-01] 用最小二乘法解决线性回归问题
系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.1 最小二乘法 4.1.1 历史 最小二乘法,也叫做 ...
- 如何使用JavaScript直接上传并预览粘贴板的图片?
(题图:梵高-橄榄树) 提出需求 因为工作原因,现在有一个需求就是需要用户使用QQ或者微信复制一张截图后,在div中直接粘贴这张图片,而不是采用上传的方式.类似我们在使用QQ微信时直接粘贴截图的操作, ...
- 程序员的算法课(19)-常用的图算法:最短路径(Shortest Path)
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...
- 【RN - 基础】之Image使用简介
Image组件是用来加载图片的.React Native项目加载图片往往有三种方式: 从React Native项目中加载图片: 从APP项目中加载图片: 从网络中加载图片. Image组件加载图片 ...
- Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览
本文是Spring Cloud专栏的第一篇文章,了解本篇文章内容有助于更好的理解后面文章 一.网站架构演变过程 1-1.传统架构 传统的SSH架构,分为三层架构 web控制层.业务逻辑层.数 ...
- 腾讯面试官问我Java中boolean类型占用多少个字节?我说一个,面试官让我回家等通知
本文首发于微信公众号:程序员乔戈里 什么是boolean类型,根据官方文档的描述: boolean: The boolean data type has only two possible value ...
- luogu P2345 奶牛集会 |排序+树状数组
题目描述 约翰的N 头奶牛每年都会参加"哞哞大会".哞哞大会是奶牛界的盛事.集会上的活动很多,比如堆干草,跨栅栏,摸牛仔的屁股等等.它们参加活动时会聚在一起,第i 头奶牛的坐标为X ...
- AQS系列(二)- ReentrantLock的释放锁
前言 在AQS系列(一)中我们一起看了ReentrantLock加锁的过程,今天我们看释放锁,看看老Lea那冷峻的思维是如何在代码中笔走龙蛇的. 正文 追踪unlock方法: public void ...
- 图形界面GUI
JFrame jframe = new JFrame(); //创建一个窗口 jframe.setVisible(true) //设置窗口显示 jframe.setLocation() //设置窗口位 ...