【实战】RobotFramework+Jenkins参数化配置实现数据库自动化

本文主要是介绍【实战】RobotFramework+Jenkins参数化配置实现数据库自动化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自动化背景

测试人员在测试过程中,支付类型相关的场景过程中,需要真实支付的金额较大,测试过程中又难以控制测试支付成本,无法确切的向公司申请测试备用金~~

那么问题来了~它来了~在无法避免自掏腰包进行巨额支付测试时,如何减少支付金额~

答案当然是~~测试人员手动修改数据库,修改订单的额支付金额,以便不断的进行支付相关的测试。

实际案例:

测试系统:XXX订单系统

测试场景:用户在app上提交购车订单后,需要在app端利用不同的支付方式进行首付支付,当前购车订单需要支付的首付金额为【151112元】

自动化目标

当前业务的测试人员,或者其他业务的相关人员需要用到支付时,可以在无需知道数据库名称以及数据库修改语句的基础上,直在jenkins上输入个人的测试订单编号以及需要修改的支付类型后,触发构建即可直接修改订单的支付金额,方便进行支付测试。

自动化执行过程

在jenkins上输入对应的参数后,点击构建按钮,触发执行自动化脚本,支付金额将由【151112】--à变成【0.03

自动化实现过程

环境准备

  1. 已安装jenkins环境
  2. Robotframework RIDE环境
  3. pymysql数据库驱动
  4. Database-Library数据库关键字模块

脚本代码

  • RF关键字说明

Connect to database:连接数据库,入参分别是:数据库驱动、数据库名称、数据库登录账号、数据库登录密码、数据库的ip、数据库的端口

Execute sql string:执行数据库语句,入参就是数据库语句

(低温提示:不会写数据库语句没关系~~提前向开发人员索要数据库相关信息~搬运过来即可~)

  • 脚本正文

1)添加数据库操作的library

2)脚本内容

执行脚本命令-pybot

主要命令格式:

pybot –d 测试报告路径 –v 变量1:变量值1  –v 变量2:变量值2 脚本路径(脚本是txt格式的文件)

(高温提示:在使用pybot命令前需要配置好环境,大家可自行找度娘~)

Jenkins参数化配置

本地已安装好jenkins后,需要注意以下配置:

1)插件名称:Robot Framework plugin

2)安装路径:系统管理-插件管理-找到插件“Robot Framework plugin”安装即可

  1. RF插件作用:
  1. 解析RF运行后的output.xml文件,将解析的结果展示出来;
  2. 在job列表自动新增一列Robot results,用于存放最新的脚本运行结果

4)新建项目

  1. 配置参数
  2. 构建指令
  3. 配置报告路径

咚~本文核心内容是掌握两大知识点:

1. jenkins参数化配置   

2.数据库修改自动化

掌握以上知识后,在测试过程中可以将测试过程中需要模拟数据库操作的地方,直接配置到jenkins上自动化执行,节约人工以及沟通成本~实际实用场景~就需要大家自我挖掘发挥了~~

一个专业的测试,除了不断挖掘bug外,还要懂得如何高效的挖掘~~~

这篇关于【实战】RobotFramework+Jenkins参数化配置实现数据库自动化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831317

相关文章

C++对象布局及多态实现探索之内存布局(整理的很多链接)

本文通过观察对象的内存布局,跟踪函数调用的汇编代码。分析了C++对象内存的布局情况,虚函数的执行方式,以及虚继承,等等 文章链接:http://dev.yesky.com/254/2191254.shtml      论C/C++函数间动态内存的传递 (2005-07-30)   当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道。 文章链接:http://dev.yesky

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始表格如下: 学生ID学生姓名课程ID课程名称教师教师办公室1张三101数学王老师101室2李四102英语李老师102室3王五101数学王老师101室4赵六103物理陈

数据库期末复习知识点

A卷 1. 选择题(30') 2. 判断范式(10') 判断到第三范式 3. 程序填空(20') 4. 分析填空(15') 5. 写SQL(25') 5'一题 恶性 B卷 1. 单选(30') 2. 填空 (20') 3. 程序填空(20') 4. 写SQL(30') 知识点 第一章 数据库管理系统(DBMS)  主要功能 数据定义功能 (DDL, 数据定义语

IDEA配置Tomcat远程调试

因为不想把本地的Tomcat配置改乱或者多人开发项目想测试,本文主要是记录一下,IDEA使用Tomcat远程调试的配置过程,免得一段时间不去配置到时候忘记(毕竟这次是因为忘了,所以才打算记录的…) 首先在catalina.sh添加以下内容 JAVA_OPTS="-Dcom.sun.management.jmxremote=-Dcom.sun.management.jmxremote.port

ABAP怎么把传入的参数刷新到内表里面呢?

1.在执行相关的功能操作之前,优先执行这一段代码,把输入的数据更新入内表里面 DATA: lo_guid TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = lo_guid.CALL METHOD lo_guid->check_changed_data.CALL M

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

给数据库的表添加字段

周五有一个需求是这样的: 原来数据库有一个表B,现在需要添加一个字段C,我把代码中增删改查部分进行了修改, 比如insert中也添入了字段C。 但没有考虑到一个问题,数据库的兼容性。因为之前的版本已经投入使用了,再升级的话,需要进行兼容处理,当时脑子都蒙了,转不过来,后来同事解决了这个问题。 现在想想,思路就是,把数据库的表结构存入文件中,如xxx.sql 实时更新该文件: CREAT