appium出现的问题记录

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所在的目录。其下有extrasintelHardware_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.17555

3,找不到模拟器的问题,或者执行脚本后,adb就检测不了设备 提示server没有开启

原因:模拟器的adb版本比sdk

解决:

由于版本不同,目前运行服务器端的adb(夜神)版本,比客户端的版本(SDK)低,所以系统就把当前运行的服务给杀掉了。

解决方案:

1、关掉AS和夜神模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe2个进程有没有在运行?有的话就结束掉。

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)

7.脚本在真机上跑不起来,or 失败后重试继续执行脚本 使用下面命令,并且执行了脚本后,要把server杀掉,不然你也不能用 uiautomator继续定位元素

7-1:  adb  kill -server

       adb start -server

原文地址:https://www.cnblogs.com/kaibindirver/p/8033184.html