1,(自带的)启动模拟器提示
Starting emulator for AVD 'AVD_for_Galaxy_Nexus'
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX kernel module is not installed!
解决:
http://blog.csdn.net/rznice/article/details/40210213
解决方案。
根据提示可以知道。该电脑上没有安装Intel HAXM
找到Android sdk所在的目录。其下有extras\intel\Hardware_Accelerated_Execution_Manager
把该目录下的intelhaxm.exe安装一下,就解决以上问题了。
可以参考:http://developer.android.com/tools/devices/emulator.html
2,夜游神模拟器 adb识别不了的问题
解决方案:
①先启动夜神模拟器
②然后运行cmd命令,cd到夜神安装目录(bin文件夹下),执行命令nox_adb.exe connect 127.0.0.1:62001
或直接打开夜神模拟器安装目录(bin文件夹),然后在地址栏输入adb回车,再执行命令nox_adb.exe connect 127.0.0.1:62001
或将夜神模拟器安装目录(bin文件夹)路径,配置在环境变量path中,直接执行cmd命令nox_adb.exe connect 127.0.0.1:620010
即可连接到模拟器
③如果无法看到夜神模拟器,请adb后,重新启动下夜神模拟器
参考http://blog.csdn.net/zml_2015/article/details/51148738
http://blog.csdn.net/zml_2015/article/details/52013724
发现用其他模拟器 链接不上时,可以使用夜神的这个方法把端口改一下就可以连上了
Mumu模拟器 127.0.0.1:7555
3,找不到模拟器的问题,或者执行脚本后,adb就检测不了设备 提示server没有开启
原因:模拟器的adb版本比sdk低
解决:
由于版本不同,目前运行服务器端的adb(夜神)版本,比客户端的版本(SDK)低,所以系统就把当前运行的服务给杀掉了。
解决方案:
1、关掉AS和夜神模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉。
2、找到SDK的目录和夜神模拟器的目录,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,因为夜神模拟器目录下原本的adb文件名字叫做nox_adb.exe,因此复制过去之后也得改名为nox_adb.exe。
3、这样就将AS目录下的adb文件和模拟器目录下的adb文件完全同步了,版本号也一致了。
Url: http://blog.csdn.net/rp517045939/article/details/68065140
3,接口被占用
Url:http://blog.csdn.net/xiaanming/article/details/9401981
提示:ADB server didn't ACK
4,问题集url: http://blog.csdn.net/liguilicsdn/article/details/51226265
里面有讲报错信息如下:
urllib2.URLError: <urlopen error [Errno 10061] >
因为设置了代理的缘故,去掉浏览器代理即可
5,启动了一次app自动化脚本,再次执行包错 A new session could not be created 的解决方法:(这个方法试了下貌似不行,过了一会是可以再次执行脚本的,不是加了这个的原因)
在头部的desired_caps内添加:
AppActivity=.ui.startup.launcher.LaucherActivity
问题解决
Url: http://blog.csdn.net/wsbl52006/article/details/53433458
后面发现,好像是开启的app等待其自动关闭后,就没有这个情况出现,
貌似点击一下手机上的unlock程序就可以提前关闭了
6.执行滑动API时报错
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. (WARNING: The server did not provide any stacktrace information)
解决方法:
查看设备上是否安装Selendroid,或者升级Selendroid
最后解决方法:
发现是start开始的坐标不能写到最大的坐标值,小于最大坐标值后,滑动正常
driver.swipe(start_x=720, start_y=1000, end_x=0, end_y=1000,duration=1000)