Android Poco初始化時,不大起眼但可能存在坑點的參數們

1. 前言

進行Android poco初始化的時候,可能大多數同學都是直接在Poco輔助窗裏選擇Android模式,然後選擇自動幫我們補充poco的初始化腳本:

這種情況下,我們大多數都不會關注初始化的參數。但如果我們不瞭解這些參數的含義,也非常有可能在一些特殊情況下踩到一些坑。下文我們就從一次入坑經歷說起吧~

2. 入坑分享:沒有傳poco初始化的參數

有一次在給Android設備初始化poco時,小A採用了下述的方式:

dev1 = Android('127.0.0.1:7555')

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco1 = AndroidUiautomationPoco(dev1)

sleep(1.0)
poco1("計算器").click()

然後在生成報告的時候,小A發現,報告沒有Poco點擊計算器的步驟,而只有1張截圖,截圖上也沒有標註控件點擊位置:

經過一頓排查之後,才發現,原來他這裏沒有傳任何的Poco初始化參數,之後他把參數加上:

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco1 = AndroidUiautomationPoco(dev1,use_airtest_input=True, screenshot_each_action=False)

報告就能正常顯示了:

那這2個Android poco的初始化參數,究竟起到怎樣的作用呢?我們下文詳細說明下。

3. use_airtest_input

use_airtest_input=True是指,使用Airtest去執行點擊操作,好處是,會在日誌裏面記錄一條log記錄,這樣生成報告時,就能在報告上顯示這個點擊記錄。

如果初始化Android poco時,不傳入這個參數,默認use_airtest_input=False,則不使用Airtest去執行點擊操作,而是調用Android接口去點擊,這時候不會在日誌裏面記錄一條點擊的log,所以會導致報告裏面丟失這個點擊步驟。

所以,如果同學們不在意log內容,或者無需生成測試報告,這個參數可以不傳。

但如果同學們需要生成測試報告,在初始化Android poco時,還是需要把use_airtest_input=True這個參數傳上去。

4. screenshot_each_action

screenshot_each_action是指,是否開啓每個poco步驟的截圖。我們也可以從1個對比測試,來看出這個參數的效果:

# 關閉每個步驟的截圖操作
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=False, screenshot_each_action=False)

sleep(1.0)
poco("計算器").click()

# 開啓每個步驟的截圖操作
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=False, screenshot_each_action=True)

sleep(1.0)
poco("計算器").click()

至於,爲什麼當初始化時,指定use_airtest_input=True,且screenshot_each_action=False 時,仍然會有截圖,這是因爲使用了Airtest的點擊,Airtest點擊是默認開啓截圖的:

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

sleep(1.0)
poco("計算器").click()

5. 小結

本文詳細講述了,進行Android poco初始化時,傳參和不傳參的差別,以及可能帶來的坑點。也跟同學們解釋了use_airtest_inputscreenshot_each_action這兩個參數的作用,後續我們會跟大家分享更多關於Airtest報告的內容~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章