天天看點

Robot Framework學習筆記11-RF如何使用資料庫查詢出的資料做參數

今天學習使用Robot Framework工具來連接配接資料庫,然後通過SQL語句去查詢出想要的資料結果,在将這個結果複制給一個自定義的參數

第一步:先安裝資料庫工具 DatabaseLibrary

直接cmd使用指令行安裝 pip  install robotframework-databaselibrary

在安裝pymysql : pip install pymysql

第二步,安裝好之後,在你的項目上導進來(紅色字型導入失敗,可能是沒有安裝成功,必須是黑色字型才代表導入成功)

Robot Framework學習筆記11-RF如何使用資料庫查詢出的資料做參數

第三步,連接配接資料庫

連接配接資料庫關鍵字:Connect TO Database Using Custom Params

傳入參數:第一個是pymysql,第二是資料庫連接配接資訊(host='資料庫ip',port='資料庫端口',user='資料庫登陸使用者名',passwd='密碼',db='資料庫名(不是表名)',[charset=''utf8])charset參數可選

Robot Framework學習筆記11-RF如何使用資料庫查詢出的資料做參數

第四部,引用

連接配接資料庫我自己封裝出來了,因為很多測試用例都需要用到資料庫去查詢,雖然查詢語句也是一樣的,但是這裡我為什麼不把查詢語句也放進來呢,因為查詢出的結果要做目前頁面的參數,如果是引用的用不了,是以我放棄了,但如果有會的評論請教一下。我單獨封裝了資料庫的連接配接

Robot Framework學習筆記11-RF如何使用資料庫查詢出的資料做參數

先引用連接配接資料庫,然後第9行:${serial_number}自定義的名稱,因為是參數化,是以要用${},query是查詢,必須傳入的參數,然後後面就是查詢的SQL語句。第10行:又重新定義一個參數,然後set variable 這個是去除特殊字元的關鍵字,${serial_number[0][0]},将上面資料查詢出來的結果,去除特殊符号。可以通過log日志可以檢視到,資料查出來的結果是有特殊符号的,是以必須要去除,去除了之中重新将值付給另一個自定義的參數。然後在第11行,文本框輸入的時候,就能直接用這個參數了。

思考:這個每個測試用例都有一條查詢語句,雖然這查詢語句是一樣的,但是如果我的查詢條件發生改變之後,我就要改很多測試用例的查詢語句,顯示不符合分層思想,但這個參數又必須是在這個頁面傳進來,有什麼好的辦法可以單獨将8.9.10抽出來,然後直接引用一下就可以得到11行的參數呢?