對於剛開始作自動化測試的新手同窗來講,咱們仍是很是建議你們經過IDE提供的設備窗口去鏈接測試設備的:
php
這樣不只能夠很是直觀地看到設備的畫面;還能夠在運行腳本時,自動幫你們生成帶鏈接設備參數的運行命令,減小不少沒必要要的錯誤:nginx
固然,不少同窗也會有 脫離IDE來跑自動化腳本 的需求,這時候就須要咱們本身添加設備鏈接參數。一般咱們能夠用如下倆種方式來鏈接設備:面試
① 在 腳本 中添加鏈接設備的參數正則表達式
② 在 運行命令 中添加鏈接設備的參數docker
下文將詳細講述在這倆種狀況下,具體如何來添加這些鏈接設備的參數。windows
在初始化設備的時候,咱們會用到如下的URI字符串,不一樣設備的URI字符串格式會略有不一樣(建議收藏,用到的時候再翻一翻)ruby
···bash
# 什麼都不填寫,默認取當前鏈接中的第一臺手機
Android:/// # 鏈接本機默認端口連的一臺設備號爲79d03fa的手機 Android://127.0.0.1:5037/79d03fa # 用本機的adb鏈接一臺adb connect過的遠程設備,注意10.254.60.1:5555實際上是serialno Android://127.0.0.1:5037/10.254.60.1:5555 複製代碼
···
iOS:///127.0.0.1:8100 複製代碼
# 鏈接一個窗口句柄爲123456的Windows窗口
Windows:///123456 # 鏈接一個Windows窗口,窗口名稱匹配某個正則表達式 Windows:///?title_re=Unity.* # 鏈接windows桌面,不指定任何窗口 Windows:/// 複製代碼
# 夜神模擬器(127.0.0.1:62001爲夜神模擬器的端口號)
Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP&&ori_method=ADBORI # 設備號爲79d03fa的 MIUI11 設備 Android://127.0.0.1:5037/79d03fa?cap_method=JAVACAP&&ori_method=ADBORI 複製代碼
1.使用 auto_setup
接口less
auto_setup
是一個用來 初始化環境 的接口,它接受5個參數。咱們能夠設置當前腳本所在的路徑、 指定運行腳本的設備 、設置默認的log路徑、設置腳本父路徑和指定截圖精度:學習
其中第二個參數就是指定運行腳本的設備,咱們能夠在這裏 傳入待鏈接設備的URI字符串 ,例如:
# 鏈接本機默認端口連的一臺設備號爲SJE5T17B17的手機
auto_setup(__file__,devices=["Android://127.0.0.1:5037/SJE5T17B17"]) 複製代碼
注意: devices
傳入的是一個字符串列表,因此若是須要 鏈接多臺設備 ,直接用 ,
隔開多個URI字符串便可:
# 鏈接本機默認端口連的設備號爲123和456的兩臺手機
auto_setup(__file__,devices=["Android://127.0.0.1:5037/123","Android://127.0.0.1:5037/456"]) 複製代碼
2.使用 connect_device
接口
在 connect_device
接口中傳入設備的URI字符串便可鏈接1臺設備:
dev = connect_device("Android://127.0.0.1:5037/SJE5T17B17") 複製代碼
若是須要鏈接多臺設備,能夠編寫多條的 connect_device
腳本,而且用 set_current
來切換到當前使用設備:
# 連上第一臺手機
dev1 = connect_device("Android://127.0.0.1:5037/serialno1") # 連上第二臺手機 dev2 = connect_device("Android://127.0.0.1:5037/serialno2") # 切換當前操做的手機到序列號爲serialno1的手機 set_current("serialno1") 複製代碼
3.使用 init_device
接口
init_device
接口只須要傳入 設備平臺和設備的uuid 便可,參數詳情能夠查看下圖:
init_device(platform="Android",uuid="SJE5T17B17") 複製代碼
在本地命令行運行腳本時,若是腳本中沒有任何鏈接設備的語句,咱們就須要經過 --device URI字符串
來鏈接設備:
airtest run D:/test/test_connect.air --device Android:/// 複製代碼
不然命令行會提示你沒有鏈接設備:
而且腳本中若是涉及了須要鏈接設備纔可以執行的腳本,好比 touch(截圖)
等,則會出現以下報錯:
另外,若是你的設備須要添加備選的鏈接參數才能夠正常鏈接,好比 模擬器或者MIUI11 的設備,則在鏈接設備時也須要把這些參數加上:
airtest run D:/test/test_connect.air --device Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI 複製代碼
注意: &&
在Windows平臺下須要轉義成 ^&^&
;在MAC平臺下須要轉義成 /&/&
。不然有可能出現因運行命令被截斷而產生的各類報錯。
自動化軟件測試交流!!!羣:642830685,領取最新軟件測試資料大廠面試和Python自動化學習資料!一塊兒學習交流
若是以爲對您有幫助!!!!收藏+點個贊在走唄!