在Airtest中如何使用无线模式控制手机
在使用Airtest超快速開發App爬蟲文章的最后,我們留了一個尾巴:如何啟動Airtest的無線模式,不用USB線就能控制手機?
本文將會講到具體的做法。做法分為兩種:第一種是在Airtest的IDE中控制手機。第二種是在Python代碼里面控制遠程手機。
啟動開啟手機上的adb端口
無論使用哪種方式,要遠程控制手機,就需要首先把手機上的adb端口打開。這一步必需先用USB線把手機連上電腦。
在終端里面執行命令:
adb tcpip 48887其中的端口號48887你可以自行設定為其他的端口號,但不能和已有的端口沖突。
命令執行完成以后,你就可以拔下USB線了。接下來就是遠程控制手機。
在AirtestIDE中無線遙控手機
打開Airtest,點擊下圖紅框框住的 remote connection:
在彈出來的輸入框中,輸入:
adb connect 手機IP:端口其中手機的IP你可以在無線路由器中找到,也可以在手機的系統設置中找到。端口就是上一條命令設定的端口。
例如:
adb connect 192.168.0.102:48887如下圖所示。
點擊connect,此時手機就會在上方的 Device列表中出現。雙擊它就可以無線連接手機并看到手機屏幕了。
在Python中控制手機
首先說明,Airtest的官方文檔有問題,如果你跟著文檔來寫代碼,一定會失敗。
官方文檔中,在https://airtest.readthedocs.io/zh_CN/latest/README_MORE.html#connect-android-device有一段介紹如何連接遠程安卓手機的例子:
本地設備 # connect a remote device using custom params connect_device("android://adbhost:adbport/1234566?cap_method=javacap&touch_method=adb")這個代碼看起來,你可能會把Python代碼寫為:
from airtest.core.api import * device_1 = connect_device('android://192.168.0.100:48887/手機串號?cap_method=javacap&touch_method=adb')如果你這樣寫,你一定無法連上手機。
正確的代碼為:
from airtest.core.api import *device_1 = connect_device('android:///192.168.0.100:48887?cap_method=javacap&touch_method=adb')只有按我這里的寫法才能正確控制手機。如下面的gif所示。
動圖中涉及到的完整代碼為:
from airtest.core.api import * import time from poco.drivers.android.uiautomation import AndroidUiautomationPocodevice_1 = connect_device('android:///192.168.0.100:48887?cap_method=javacap&touch_method=adb')poco = AndroidUiautomationPoco(device_1, use_airtest_input=True, screenshot_each_action=False)poco(text="知乎").click() poco(name="com.zhihu.android:id/input").click() poco(name="com.zhihu.android:id/input").set_text('古劍奇譚三')time.sleep(2)poco(name='com.zhihu.android:id/magi_title', textMatches='^古劍奇譚三.*$').click() poco.swipe([0.5, 0.8], [0.5, 0.2]) posted on 2019-01-28 22:49 青南 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/xieqiankun/p/wireless-mode-of-poco.html
總結
以上是生活随笔為你收集整理的在Airtest中如何使用无线模式控制手机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle财务软件凭证打印,金算盘财务
- 下一篇: adb常用指令