隨著項目自動化深入和不斷完善,大部分功能都已經能完成了自動化的操作;但是在設備添加的時候,遇到了難題。添加設備的時候mac必須是服務器設備管理中已經存在的mac地址,且是沒有關聯或綁定用戶的設備信息。起初的想法是讀取文本文件取得mac地址實現自動化操作,但是此方法也是行不通的!所以這個功能暫時沒有自動化操作。后來想到可以讀取數據庫的查詢結果,這樣一來,每次添加設備的mac都可以確保是服務器上存在的,且是在用戶使用設備表中是不存在的就可以。
那么該如何實現呢?
思路:
打開數據庫
查詢表中用戶沒有使用的mac
robotframework3。將查詢結果賦值給一個變量
mac地址中輸入該變量
說明一下:測試環境的服務器是mysql
既然robotframework需要操作數據庫,那么需要安裝執行數據庫的databaselibrary和pymysql。
安裝databaselibrary和pymysql
通過cmd命令執行:pip install robotframework-databaselibrary
安裝robotframework。cmd命令執行:pip install pymysql
如圖所示
引入DatabaseLibrary包到Robotframework
如圖
使用關鍵字操作數據庫
第一步:打開數據庫
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截圖所示
注意
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地址。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态