记pycharm结合airtest IDE使用adb连接安卓模拟器笔记

  • A+
所属分类:安全博客
摘要

自动化airtest IDE模拟器 这几天打算玩一下python自动化测试,因此接触到airtest。在使用中遇到很多问题,特此记录方便查阅。

自动化airtest IDE模拟器

前言

这几天打算玩一下python自动化测试,因此接触到airtest。在使用中遇到很多问题,特此记录方便查阅。

环境

python 3.7 airtest ide pycharm 雷电模拟器

基础知识

1各模拟器adb连接端口

夜神安卓模拟器 62001 逍遥模拟器 21503 蓝叠模拟器 5555 雷电 5555 天天 5037 mumu 7555 Genymotion 5555 腾讯手游助手 adb connect 127.0.0.1:5555 

2adb常用命令 查看设备

adb devices  

开启/关闭adb服务

adb start-server  adb kill-server  

安装apk

adb install -t ***.apk 

启动应用

adb shell am start -n 包名/相对包名的类名 如:adb shell am start -n com.example.test/.MainActivity 

文件传输

adb pull 要获取的文件路径 存储的文件路径 adb push 要上传的文件路径 存储的文件路径 

查看当前聚焦Activity类名

Linux系统 adb shell dumpsys activity | grep "mFocusedActivity"  Windows系统 adb shell dumpsys activity | findstr "mFocusedActivity" 

3进模拟器开启开发者模式

问题记录

1airtest ide可以执行poco操作,而到pycharm不行 一般会报错

G.DEVICE.home() AttributeError: 'NoneType' object has no attribute 'home' 

解决办法: 先连接模拟器

connect_device("android:///")  #连接本地android设备 

连接雷电模拟器两种办法:

connect_device('Android://127.0.0.1:5037/127.0.0.1:5555')         

雷电模拟器端口是5555,127.0.0.1:5037是对应的本机的adbhost和adbport

connect_device('Android://127.0.0.1:5037/emulator-5554') 

emulator-5554是连接后出现的名字,可以用adb devices看到

2出现adb server version (31) doesn't match this client (36)问题
这是因为adb版本不同出现的。
解决办法
确定模拟器adb+airtest的adb+python包里面的adb一致
python包路径如下:
C:/Python37/lib/site-packages/airtest/core/android/static/adb/windows/adb.exe

3出现airtest.core.error.DeviceConnectionError: 'device not ready'问题

一般是airtest和pycharm里面启动冲突了
解决办法
重启模拟器,kill了adb进程

来源:http://www.safe6.cn/

本文由 safe6 创作,著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

记pycharm结合airtest IDE使用adb连接安卓模拟器笔记

本站的所有程序和文章,仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负!! 最后编辑时间为: 2019-10-25

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: