RF申明变量:

首先我们要创建Variables表

*** Settings ***

${LoginUrl}      http://cloud.innovpowerf.com/Account/Login

${StudentLoginUrl}      http://localhost/student/login

@{database}        127.0.0.1     3306           ----------------List变量

&{user}             name=username    pw=password   ------------------Dict变量

使用变量文件:

可以使用python模块文件提供公共变量给RF使用,只需要直接定义变量就可以了。语法完全就是python语法。如:

StudentLoginUrl = 'http://localhsot/studfent/login'

RF申明使用变量文件:

*** Setings ***

Variables    ../cfg/cfg.py

*注意* :变量文件申明时,可以使用绝对路径,也可以使用相对路径。

使用相对路径时RF搜索规则和资源文件搜索规则一样:

- 先在相对当前文件的目录  匹配搜索;

- 在python的模块搜索路径中搜索,可以用  --python参数   如:robot --python .tc/t1.robot

命令行参数指定变量文件:robot --variablefile cfg\cfg.py  tc/t1.robot

也可以设置全局变量然后执行(写成全局的配置文件):

set pythonpath=.

robot tc/t1.robot

python扩展关键字:

python模块作为关键字:模块文件名作为测试库的名字

比如 python模块叫MyLibrary,对应的python文件就是MyLibrary.py,那么测试库的名字就是MyLibrary

定义在python模块文件中的函数,名称前有_前缀的不会作为关键字

def  returnList1():

return[1, 2]

def  _returnList2():

return[1, 2]

要保证其在python模块的搜索路径中,这样RF才能找到它。

* 直接设置环境变量

* 用 --python参数    如:robot --pythonpath lesson1 lesson1/tmp.robot

如果在lesson里面的某个目录中执行呢?   如  robot --pythonpath ..  ../tmp2.robot

RF使用关键字的时候: - 中间可以加上任意的空格

- 大小写也可以任意

自己定义关键字的时候:如下

from robot.api.deco import keyword   # 装饰器

@keyword

def returnList():

return[1, 2]

python类作为测试库:

* 比如:python文件是tlib2.py

class SubLibrary:

def returnInt(self):

return 3

def _returnInt(self)

          return  4

   * 申明

*** Settings ***

Library       tlib2.SubLibrary

* 该类中的成员方法,名称前有_前缀的不会作为关键字

* 导入时的参数,对应类的初始化方法

* 如果类和模块文件同名,申明的时候就可以省略后面的类名

python 扩展库的搜索规则:

完全是按照python的模块的搜索规则来的

- 如果在包内,pylib/login/rightpass.py

*** Settings ***

Library       pylib.login.rightpass

---------------------------------------------------------------------

Library      pylib/login/rightpass.py

- 在Settings中    申明资源文件和变量文件:

路径、目录之间的分隔符,不用点  .    而是用斜杠 /

- 在Settings申明测试库:

路径、目录之间的分隔符,可以用点  也可以用斜杠  /  

路径分隔符    用点后面不加py,用斜杠后面加.py

RF之变量的共享使用与python测试库-5的更多相关文章

  1. 共享变量与python测试库

    共享变量(Variables) 1.变量表: 导入模式: 1.套件文件,不需要导入 2.资源文件 Resource  xxx.robot 2.变量文件 导入模式: 1.Variables xx.py ...

  2. Python测试 ——开发工具库

    Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...

  3. python测试开发工具库汇总(转载)

    Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...

  4. Robot Framework(12)- 详细解读 RF 的变量和常量

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 常量的栗子 常量 ...

  5. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  6. python 测试框架之---testtools

    在tempest框架中,使用的是testtools为基础框架来运行接口自动化 一.初识 testools是属于python中诸多自动化框架中的一个,官方文档如下: http://testtools.r ...

  7. Appium环境的安装与配置,Python测试脚本测试

    Appium自动化测试系列1 - Appium环境的安装与配置 发表于4个月前(2015-01-27 14:34)   阅读(803) | 评论(0) 0人收藏此文章, 我要收藏 赞0 寻找 会’偷懒 ...

  8. RobotFramework自动化测试框架(3)- RobotFramework扩展测试库、资源文件、变量文件

    扩展测试库 扩展测试库可使用python或java语言编写.后直接导入需要使用的测试用例文件即可. 具体的实现和操作,后续补充.请参考官网. 资源文件 在资源文件中定义用户关键字,它提供了共享机制,即 ...

  9. 【Python Deap库】遗传算法/遗传编程 进化算法基于python DEAP库深度解析讲解

    目录 前言 概述 启发式的理解(重点) 优化问题的定义 个体编码 初始族群的创建 评价 配种选择 锦标赛 轮盘赌选择 随机普遍抽样选择 变异 单点交叉 两点交叉 均匀交叉 部分匹配交叉 突变 高斯突变 ...

随机推荐

  1. Scrapy 命令

    Scrapy提供了两种类型的命令.一种必须在Scrapy项目中运行(针对项目(Project-specific)的命令),另外一种则不需要(全局命令).全局命令在项目中运行时的表现可能会与在非项目中运 ...

  2. Python socket day3

    UDP聊天室 本地回环(127.0.0.1) 本地回环是每台电脑都有的,只能用于自身电脑的通讯,无论你的IP地址是多少,只要发送方输入的目的IP为127.0.0.1 ,自身便能接受得到数据 测试本地回 ...

  3. HDU 1312 Red and Black(经典DFS)

    嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 一道很经典的dfs,设置上下左右四个方向,读入时记下起点,然后跑dfs即可...最后答 ...

  4. 「WC2013」糖果公园

    「WC2013」糖果公园 传送门 树上带修莫队板子题. 看懂题意后就是板子题了. 参考代码: #include <algorithm> #include <cstdio> #i ...

  5. Tensorflow机器学习入门——读取数据

    TensorFlow 中可以通过三种方式读取数据: 一.通过feed_dict传递数据: input1 = tf.placeholder(tf.float32) input2 = tf.placeho ...

  6. Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战

    Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战 说明:Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战,优惠券是一种常见的促销方式,在规定的周期内购买对应商品类型和额度的商品 ...

  7. laravel 邮箱认证

    修改 User 模型,将 Laravel 自带的邮箱认证功能集成到我们的程序中 <?php namespace App\Models; use Illuminate\Notifications\ ...

  8. Springboot学习:日志

    介绍 市面上的日志框架: JUL.JCL.Jboss-logging.logback.log4j.log4j2.slf4j.... 日志门面 (日志的抽象层) 日志实现 JCL(Jakarta Com ...

  9. leetcode 0214

    目录 ✅ 965. 单值二叉树 描述 解答 c++ updated dfs c++ py py 生成器 ✅ 762. 二进制表示中质数个计算置位 描述 解答 cpp other cpp mine ja ...

  10. 「CF1301C Ayoub's function」

    本题结论题,所以就不放前置芝士了. 具体做法 先将最终的答案分为两部分,区间(开始于结束为止不同)和点,点的个数非常显然就是M,于是要计算区间的个数,可以发现如果直接计算有多少合法区间很麻烦,所以用总 ...