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. Leet Code 9.回文数

    判断一个整数是否是回文数. 题解 普通解法:将整数转为字符串,然后对字符串做判断. ///简单粗暴,看看就行 class Solution { public boolean isPalindrome( ...

  2. appium 无法通过工具定位webview页面元素的问题

    app里面页面有原生和webview的,或者H5的 1.手机百度搜索结果页面 手机百度,点击搜索输入框,输入关键字点击搜索,出来的搜索结果页面,无法通过UI automator viewer来定位元素 ...

  3. Python日期

    1. datatime from datetime import datetime, date now = datetime.now() print(now) # 2020-01-20 01:24:0 ...

  4. 聊聊Redis的持久化

    两种持久化策略 1.AOF:记录每一次的写操作到日志上,重启时重放日志以重建数据2.RDB:每隔一段时间保存一次当前时间点上的数据快照    快照就是一次又一次地从头开始创造一切3.可以关闭持久化4. ...

  5. Navicat连接两个不同机子上的mysql数据库,端口用换吗?--不用

    经过了上一篇的努力,成功的连上了远程的mysql数据库 dos 命令行下的成功连接 在用Navicat连接的时候要注意: 端口仍然是3306,而不用去更改,并不会和上面的本机的Mysql连接使用的端口 ...

  6. @Value注解的使用

    前提它需要在spring 管理的Bean中有效 (如@Service...) #{...} 此方式可以使用 SpEL 表达式如 #{30-15} ${...} 可以获取配置文件中的值 如 ${jwt. ...

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

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

  8. (2)Linux Java环境变量安装

    install default JRE/JDK Installing Java with apt-get is easy. First, update the package index: sudo ...

  9. html和css的重难点知识

    目录 html总难点总结: 1. 块级标签与内联标签的区别 1.1 块级标签: 1.2 内联标签: 2. 选择器 2.1 定义 2.2 选择器的分类 2.1 选择器的分类 3. css中margin, ...

  10. 刚开始用springboot踩的好多坑!!!

    今天,刚开始就在刚才我留下了激动的泪水,因为我捯饬springboot已经有几天了,我通过看视频学的,但是坑实在是太多了,今年是鼠年~~~LOL----瘟疫之源来了, 被困在了老家不能走,老家网实在是 ...