mysql数据库在工控自动化应用_robotframework自动化系列:操作mysql数据库

本文介绍了如何使用RobotFramework操作MySQL数据库,以解决在工控自动化中添加设备时确保MAC地址的有效性和唯一性。通过连接数据库、执行SQL查询未关联的MAC地址,然后将其作为变量用于自动化流程,实现了自动化操作的进一步优化。
摘要由CSDN通过智能技术生成

随着项目自动化深入和不断完善,大部分功能都已经能完成了自动化的操作;但是在设备添加的时候,遇到了难题。添加设备的时候mac必须是服务器设备管理中已经存在的mac地址,且是没有关联或绑定用户的设备信息。起初的想法是读取文本文件取得mac地址实现自动化操作,但是此方法也是行不通的!所以这个功能暂时没有自动化操作。后来想到可以读取数据库的查询结果,这样一来,每次添加设备的mac都可以确保是服务器上存在的,且是在用户使用设备表中是不存在的就可以。

那么该如何实现呢?

思路:

打开数据库

查询表中用户没有使用的mac

将查询结果赋值给一个变量

mac地址中输入该变量

说明一下:测试环境的服务器是mysql

既然robotframework需要操作数据库,那么需要安装执行数据库的databaselibrary和pymysql。

安装databaselibrary和pymysql

通过cmd命令执行:pip install robotframework-databaselibrary

cmd命令执行:pip install pymysql

如图所示

845f608f6f79e5e2193cbfb86d14a7c0.png

引入DatabaseLibrary包到Robotframework

如图

88ea2a975afb072f808de6981dd498e6.png

使用关键字操作数据库

第一步:打开数据库

使用Connect To Database Using Custom Params关键字连接数据库,这里需要传入2个参数pymysql和连接数据库的信息,代码如下

mac地址

#从服务器上获取没有绑定或关联的设备号

Connect to database using custom params pymysql database='test_pre', user='test', password='test', host='127.0.0.1', port=3306

Connect to database using custom params pymysql database='test_sys', user='test', password='test', host='127.0.0.1', port=3306

第二步 执行sql语句

代码如下

@{result} Query select mac from test_pre.device_server where mac not in (select mac from device)limit 1

log @{result[0]}

第三步:关闭连接

Disconnect From Database

代码展示如下

mac地址

#从服务器上获取没有绑定或关联的设备号

Connect to database using custom params pymysql database='test_pre', user='test', password='test', host='127.0.0.1', port=3306

Connect to database using custom params pymysql database='test_sys', user='test', password='test', host='127.0.0.1', port=3306

@{result} Query select mac from test_pre.device_server where mac not in (select mac from device)limit 1

log @{result[0]}

Disconnect From Database

${mac} convert to string @{result[0]}

log ${mac}

[Return] ${mac}

robotframework截图所示

c4dd041fefc1b9c5d1ef25b9a12a5644.png

注意

返回值@{result[0]}是list格式,后面需要使用此返回值断言的,所以需要转换格式为string,${mac} convert to string @{result[0]}

query中的sql语句,注意复制粘贴的时候空格要去掉,否则执行的时候会提示报错

这里用到了2个数据库test_pre和test_sys,其中pre中存放服务器mac地址,而test_sys存在的是用户关联或绑定的mac信息。而这里我们需要的mac是存在服务器上但是没有关联用户或绑定用户的设备信息

这样在添加用例的时候每次添加的mac都是唯一的,可以满足我们的要求了

这里mac已经封装关键字mac地址,这样我们下次直接使用关键字mac地址来生成一个新的mac地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值