RF之变量的共享使用与python测试库-5
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的更多相关文章
- 共享变量与python测试库
共享变量(Variables) 1.变量表: 导入模式: 1.套件文件,不需要导入 2.资源文件 Resource xxx.robot 2.变量文件 导入模式: 1.Variables xx.py ...
- Python测试 ——开发工具库
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...
- python测试开发工具库汇总(转载)
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...
- Robot Framework(12)- 详细解读 RF 的变量和常量
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 常量的栗子 常量 ...
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- python 测试框架之---testtools
在tempest框架中,使用的是testtools为基础框架来运行接口自动化 一.初识 testools是属于python中诸多自动化框架中的一个,官方文档如下: http://testtools.r ...
- Appium环境的安装与配置,Python测试脚本测试
Appium自动化测试系列1 - Appium环境的安装与配置 发表于4个月前(2015-01-27 14:34) 阅读(803) | 评论(0) 0人收藏此文章, 我要收藏 赞0 寻找 会’偷懒 ...
- RobotFramework自动化测试框架(3)- RobotFramework扩展测试库、资源文件、变量文件
扩展测试库 扩展测试库可使用python或java语言编写.后直接导入需要使用的测试用例文件即可. 具体的实现和操作,后续补充.请参考官网. 资源文件 在资源文件中定义用户关键字,它提供了共享机制,即 ...
- 【Python Deap库】遗传算法/遗传编程 进化算法基于python DEAP库深度解析讲解
目录 前言 概述 启发式的理解(重点) 优化问题的定义 个体编码 初始族群的创建 评价 配种选择 锦标赛 轮盘赌选择 随机普遍抽样选择 变异 单点交叉 两点交叉 均匀交叉 部分匹配交叉 突变 高斯突变 ...
随机推荐
- 使用notepad++运行python
参考博客:https://blog.csdn.net/humanking7/article/details/80464000 尽管有pycharm和spyder这样的IDE可以编写python程序,但 ...
- springboot笔记-1.自动化配置的关键
最近发现看过的东西容易忘,但是写一遍之后印象倒是会深刻的多. 总所周知springboot极大的简化了java开发繁琐性,而其最大的优势应该就是自动化配置了.比如要使用redis,我们直接引入相关的包 ...
- 【C语言】(数组方式)求n名同学的平均成绩
原理就不说了 代码: #include <stdio.h> int main() { ], sum = ; int i; printf("请输入5名童鞋的成绩:\n") ...
- ios 底部用定位 fixed。在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去。解决方法
ios 底部用定位 fixed.在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去.解决方法 $("input").focus(function() ...
- Python - 查看类的方法和属性,dir(),help()
1. dir()查看类的方法和属性 查看slice类的方法和属性 dir(slice) 2.help() 查看某个方法的文档 查看slice类中的indices方法 help(slice.indice ...
- spring boot properties文件与yaml文件的区别
编写是没有提示的话在pom中添加依赖,如下: <!-- 配置文件处理器 编写配置时会有提示 --> <dependency> <groupId>org.spring ...
- spring boot 整合mapreduce运行的ClassNotFoundException
问题 一个wordcount运行总是报错 java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.hadoop. ...
- JS动态添加删除html
本功能要求是页面传一个List 集合给后台而且页面可以动态添加删除html代码需求如下: 下面是jsp页面代码 <%@ page language="java" pageEn ...
- Codeforces1140D. Minimum Triangulation
题目链接 本题是区间dp里的三角剖分,板子题,dp[i][j]表示凸多边形i-j构成的最值,转移方程为dp[i][j] = min/max(dp[i][k]+dp[k][j]+w[i,j,k])(i& ...
- python 之并发编程更新版进程池与进程池比较与回调函数
一.更新版进程池与进程池比较 from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor import os, tim ...