保姆級教程 | Qt與ETest的調(diào)用機制(內(nèi)含Demo演示)
Qt作為跨平臺應用框架,是開發(fā)大型桌面應用的理想選擇,它能夠在Windows及各種Linux平臺上運行,但是它的自動化測試一直是一個挑戰(zhàn),尤其是在存在著多種類型操作系統(tǒng)的國產(chǎn)化平臺。如果要通過手工測試,重復的測試次數(shù)很多,也很難達到理想的平臺覆蓋率。而通過ETest與Qt的相互調(diào)用,這個挑戰(zhàn)已經(jīng)成為歷史。
,時長28:04
▲?Qt與ETest的調(diào)用機制演示視頻

Qt?→ ETest

在Qt中利用python的SDK(軟件開發(fā)包工具)來實現(xiàn)調(diào)用ETest。
et_runner:執(zhí)行器相關(guān)操作:初始化下位機、發(fā)送命令、關(guān)閉下位機;
et_netvar:系統(tǒng)網(wǎng)絡變量:打開、關(guān)閉下位機網(wǎng)絡變量監(jiān)聽;
et_db:數(shù)據(jù)庫管理服務:增刪改查;
et_state:系統(tǒng)狀態(tài):執(zhí)行器狀態(tài)、下位機報錯信息。

▲python SDK

▲?代碼實現(xiàn)邏輯

ETest →?Qt

1、在ETest平臺上添加網(wǎng)格變量,修改腳本
1)可被賦值修改
set_value("$.data", data)2)值被修改后發(fā)出信息et_netvar. openVars(run_key)

▲?ETest:網(wǎng)格變量
2、在Qt上關(guān)聯(lián)信號與槽,編寫槽函數(shù)
1)信號在特定情況下被發(fā)射的事件。定義:sig =pyqtSignal(object)發(fā)射:sig.emit(data)2)槽對信號響應的函數(shù)。信號與槽的關(guān)聯(lián):sig.connect(slot)
