关键字的使用:

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之关键字、变量、循环的更多相关文章

  1. python中非关键字可变长参数和关键字变量参数的区别

    #非关键字可变长参数 def add(*arg):    return type(arg) print add() #打印结果 <type 'tuple'> #关键字变量参数 def ab ...

  2. JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }

    重复重复(for循环) 很多事情不只是做一次,要重复做.如打印10份试卷,每次打印一份,重复这个动作,直到打印完成.这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码. for语句结构: ...

  3. (1)c语言学习总结之从关键字到循环结构

    一.关键字和标示符 1.关键字:c规定的有特殊含义的单词(也就是系统起的名字),全部是小写,有32个; 由关键字引出数据类型和流程类型 1.分类: (1)数据类型:整型用int标示,字符型用char表 ...

  4. Robot framework(RF) 用户关键字

    3.6  用户关键字 在Robot Framework 中关键字的创建分两种:系统关键字和用户关键字. 系统关键字是需要通过脚本开发相应的类和方法,从而实现某一逻辑功能. 用户关键字是根据业务的需求利 ...

  5. py定义变量-循环-条件判断

    定义变量 # print('hahaha')name = " let'go "title = '刘伟长得 "很帅"!'conent = '''     let' ...

  6. php 变量 循环关键词以及方法

    <?php/* 多行注释 */常用数据类型int string double/float bool变量的定义$a = 123;$b = "123";$c = '456';$d ...

  7. sql 循环语句几种方式(变量循环,游标循环,事务)

    --第一   ) ,),Orders )) declare @n int,@rows int --select @rows=count(1) from pe_Orders select @rows = ...

  8. 查找jar包中.class文件关键字(变量名,字符串)

    有时查看日志,常常会发现由框架底层打印的错误日志.要修改这个错误的时候,如果不是对框架特别熟悉,就需要按照可能产生这个错误日志的流程一步一步找,一时半会不一定能找到.比如本人最近对smartfoxse ...

  9. C#--@符号的使用(逐字字符串,跨行,声明关键字变量名)

    ---对字符串的使用 @可以定义逐字字符串 注意:@只对字符串常量有用 1)不需要用\\来转义非转义符号的\号   例如:@"\"="\\"2)可以实现多行字符 ...

随机推荐

  1. 11-kubernetes RBAC 及授权

    目录 RBAC role 和 clusterrole rolebinding 和 clusterrolebinding 公共权限 clusterrole user 创建测试 创建role案例 创建 r ...

  2. supersocket/SocketEngin/BootstrapFactory.cs 详解

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using SuperSoc ...

  3. C语言I—2019秋作业03

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 C语言I-2019秋作业03 我在这个课程的目标是 掌握if-else语句,运算关系 这个作业在那个具体方面帮助我实现目标 row 2 c ...

  4. 这是一个测试 hello world

    第一次写博客,冒着生命危险尝试一下,发说说 搞了半天,发现原创文章在随笔发,我以为在文章目录发,白白在文章那里建了分类,太难了吧我

  5. 每个开发人员都应该知道的11个Linux命令

    本文主要挑选出读者有必要首先学习的 11 个 Linux 命令,如果不熟悉的读者可以在虚拟机或云服务器上实操下,对于开发人员来说,能熟练掌握 Linux 做一些基本的操作是必要的! 事不宜迟,这里有 ...

  6. Java语法进阶13-文件、IO流

    File File是文件和目录路径名的抽象表示形式,即File类是文件或目录的路径,而不是文件本身,因此File类不能直接访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流. File ...

  7. 本土化App名稱和icon

    本土化app名稱這個容易 第一步配置工程需要本土化的語言. 第二步,新建本土化文件,文件名稱是有要求的,文件名字命名为InfoPlist,且必须是这个名字.這樣系統會自動去讀取該文件中的內容 對新建的 ...

  8. IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework

    一.什么是库        库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...

  9. 使用 Zookeeper 的 Api 实现服务注册

    创建常量接口 com.bjsxt.constant.Constants package com.bjsxt.constant; public interface Constants { //访问Zoo ...

  10. 洛谷 题解 P1615 【西游记公司】

    我的程序只有1行... return scanf("%d:%d:%d\n%d:%d:%d\n%d", &a, &b, &c, &x, &y, ...