如何实现多设备端抓取?
实现多设备端抓取,可以利用docker环境,此外也可以利用python的多进程/多线程。
1、运行多台设备(手机或者模拟器)
2、运行多个appium服务
3、使用python多进程/多线程
注意事项:
1、模拟器连接端口
- 可通过cmd终端输入命令adb devices进行查看
- 如果没有查看到连接的设备,可以通过任务管理器查看模拟器运行的pid,然后通过netstat -ano | findstr "进程号" 来查看该进程占用的端口号,模拟器占用端口的规律,第一台62001,第二台62025,第3台62026....后面的开始+1。
- 然后adb connect ip:端口号进行连接,再通过adb devices就可以查看连接的设备
2、appium客户端需要设置udid
- 多台设备时,客户端desired capabilities中需要指定'udid',值和'deviceName'相同,单台设备时不需要指定
3、appium服务端需要设置bootstrapPort
- bootstrapPort指的是设备与appium服务器通信的端口
- 点击appium服务端主界面中的Advanced选项,这个里面可以设置Server Port以及下面Android中的bootstrapPort,设置好以后点击Save As Preset
- 点击Presets就可以查看设置好的appium服务器,比如设置了2个,第一个port:4723,bootstrapPort:4724,第二个port:4725,bootstrapPort:4726