三、robotframework封装的关键字-数据库使用
1. 从数据库查询结果:
数据库连接:Connect To Database Using Custom Params 用法:Connect To Database Using Custom Params pymysql host='${base_ip}',user='root',passwd='aaaa',db='aaaa',port=3306,charset='utf8'
数据库查询:query 用法:@{db} query ${sql}
退出数据库:Disconnect From Database

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. 自定义定义数据库查询结果(自定义IP):
数据库连接:Connect To Database Using Custom Params 用法:Connect To Database Using Custom Params pymysql host='${ip}',user='${username}',passwd='${password}',db='${db_name}',port=3306,charset='utf8'
数据库查询:query 用法:${db} query select 字段 from 表 where 条件
退出数据库:Disconnect From Database
例子:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3.获得长度为N的相同值的列表
[Arguments] ${num_list} ${list_value} ${mode}=1
[Documentation] 例如:N为3,list_value为None,mode为1则生成一个列表为['None','None','None'],如果mode为2则生成[None,None,None]
${list} Create list
${num_list} evaluate range(0,${num_list})
: FOR ${i} IN @{num_list}
\ ${list2} run keyword if ${list_value}=='' evaluate ${list_value}.decode('utf-8')
\ ... ELSE set variable ${list_value}
\ ${string} run keyword if ${mode}==1 evaluate str(${list2})
\ ... ELSE set variable ${list2}
\ append to list ${list} ${string}
[Return] ${list}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4.生成随机手机号码
[Arguments] ${length}=8 @{num}
[Documentation] ${length}=8生成的手机号码位数,不包含开头的3位,默认8位,@{num}:自定义手机号开头三位
${result} evaluate random.choice(['130','133','187','159','180','177','150','156',@{num}])+"".join(random.choice("0123456789")for i in range(${length})) random
[Return] ${result}

----------------------------------------输出

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5.生成随机字符串
[Arguments] ${num}
[Documentation] ${num}生成的位数,${result}返回的字符串
${result} evaluate "".join(random.sample(string.letters+string.digits,int(${num}))) random,string
[Return] ${result}

------------------------------------------输出

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6.获取N位长度随机整数
[Arguments] ${n} ${type}=1
[Documentation] ${type}==1:默认等于1,返回字符串类型的随机数,等于2时返回整型的随机数,${n}为生成的字符串长度
--------------------------------------------------
${num} Set Variable ${${n}}
${min} Evaluate 10**(${num}-1) math
log ${min}
${max} Evaluate 10**($num)-${1} math
log ${max}
${result} Evaluate random.randint(${min},${max}) random
log ${result}
${result_string} Convert To String ${result}
${rand} Set Variable If ${type}==1 ${result_string} ${result}
[Return] ${rand}

三、robotframework封装的关键字-数据库使用的更多相关文章
- Robot Framework自动化测试(三)--- 封装系统关键字
之前对robotframework-ride了解的不多,后来知道了引入Selenium2Lirary库后可以做web UI自动化测试,但发现和python没啥关系,今天学习了封装系统关键字算是和pyt ...
- 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入
一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...
- robot-framework 利用evaluate关键字生成随机数
robot-framework 利用evaluate关键字生成随机数 最近用RF(robot-framework简称)操作MangoDB,需要直接将数据写到数据库里,又不想每次写的数据完全相同,就想到 ...
- 封装JDBC操作数据库的方法
自己动手封装java操作数据库的方法: 一:目录结构 二:所需依赖的第三方jar包 这里只需引入mysql-connector-java-5.1.8-bin.jar,mysql数据库驱动jar包 三: ...
- Python面向对象三要素-封装(Encapsulation)
Python面向对象三要素-封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装概述 将数据和操作组织到类中,即属性和方法 将数据隐藏起来,给 ...
- 使用Spring.net中对Ado.net的抽象封装来访问数据库
使用Spring.net中对Ado.net的抽象封装来访问数据库 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入 ...
- 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释
在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...
- ajax的三次封装简单概况
原生ajax: readyState 准备状态 status 页面状态 ...
- [Java并发编程(三)] Java volatile 关键字介绍
[Java并发编程(三)] Java volatile 关键字介绍 摘要 Java volatile 关键字是用来标记 Java 变量,并表示变量 "存储于主内存中" .更准确的说 ...
随机推荐
- 运维LVS-NAT模式理解
一.LVS-NAT模式的工作原理这个是通过网络地址转换的方法来实现调度的.首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个 后端的真实服务器(RS ...
- 在springboot中使用拦截器
在springMVC中可以实现拦截器,是通过实现HandlerInterceptor接口,然后在springmvc-web.xml中配置就可以使用拦截器了.在springboot中拦截器也是一样的思想 ...
- mybatis中的动态代理应用(mapper对象)
-----------------UserMapper的配置信息--------------------- <?xml version="1.0" encoding=&quo ...
- jQuery中outerWidth()方法
截图自:菜鸟教程https://www.runoob.com/jquery/html-outerwidth.html
- 问题:Thymeleaf整合Spring Security后sec属性不起作用
可能原因: 版本不兼容,例如2.1.x的SpringBoot不兼容3.0.4的thymeleaf-extras-springsecurity4 解决方案: 修改Spring Boot的版本为2.0.x ...
- squid代理简介
squid代理 简单介绍一下正向代理和反向代理 标准代理:缓存静态页面,但是要实现这种方式必须在内部主机的浏览器内指明代理服务址和端口. 透明代理:不需要指明代理服务器的IP和端口 二)反向代理 可以 ...
- Big Data(八)MapReduce的搭建和初步使用
---恢复内容开始--- 回顾: 1.最终开发MR的计算程序 2.hadoop 2.x 出现了一个yarn:资源管理>>MR没有后台场服务 yarn模型:container 容器,里面会运 ...
- 最简单的Android项目(添加jar文件)
如果项目需要引用第三方jar文件,需要对编译命令做一些改动. 首先在项目根目录创建libs目录,将需要的jar文件拷贝到里面. 编译过程中有两步需要改动. 编译java源文件时,需要添加class p ...
- Elasticsearch:hanlp 中文分词器
HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/Ke ...
- CF 1272F Two Bracket Sequences (括号dp)
题目地址 洛谷CF1272F Solution 首先题目中有两个括号串 \(s\) 和 \(t\) ,考虑先设计两维表示 \(s\) 匹配到的位置和 \(t\) 匹配到的位置. 接着根据 括号dp的一 ...