robotframework3,mysql數據庫在工控自動化應用_robotframework自動化系列:操作mysql數據庫

 2023-11-19 阅读 18 评论 0

摘要:隨著項目自動化深入和不斷完善,大部分功能都已經能完成了自動化的操作;但是在設備添加的時候,遇到了難題。添加設備的時候mac必須是服務器設備管理中已經存在的mac地址,且是沒有關聯或綁定用戶的設備信息。起初的想法是讀取文本文件取得mac地址實

隨著項目自動化深入和不斷完善,大部分功能都已經能完成了自動化的操作;但是在設備添加的時候,遇到了難題。添加設備的時候mac必須是服務器設備管理中已經存在的mac地址,且是沒有關聯或綁定用戶的設備信息。起初的想法是讀取文本文件取得mac地址實現自動化操作,但是此方法也是行不通的!所以這個功能暫時沒有自動化操作。后來想到可以讀取數據庫的查詢結果,這樣一來,每次添加設備的mac都可以確保是服務器上存在的,且是在用戶使用設備表中是不存在的就可以。

那么該如何實現呢?

思路:

打開數據庫

查詢表中用戶沒有使用的mac

robotframework3。將查詢結果賦值給一個變量

mac地址中輸入該變量

說明一下:測試環境的服務器是mysql

既然robotframework需要操作數據庫,那么需要安裝執行數據庫的databaselibrary和pymysql。

安裝databaselibrary和pymysql

通過cmd命令執行:pip install robotframework-databaselibrary

安裝robotframework。cmd命令執行:pip install pymysql

如圖所示

845f608f6f79e5e2193cbfb86d14a7c0.png

引入DatabaseLibrary包到Robotframework

如圖

88ea2a975afb072f808de6981dd498e6.png

使用關鍵字操作數據庫

第一步:打開數據庫

robotframework框架、使用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語句

robotframework循環。代碼如下

@{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

代碼展示如下

MySQL編程?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]}

mySQL數據庫、Disconnect From Database

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

log ${mac}

[Return] ${mac}

robotframework截圖所示

c4dd041fefc1b9c5d1ef25b9a12a5644.png

注意

robotframework斷言、返回值@{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地址。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/182266.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息