Appium兼容性问题
1、如何让android模拟器上网
上网google的方法都试过了,还是不能让模拟器联网。可能是我的操作问题吧。不知道哪位朋友能稍微详细的给我演示一下如何操作的。感激不尽。
我有更好的答案
推荐于2017-09-03 11:48:27 最佳答案
很多网友也问到为啥自己在家的PC机可以上网,而运行在PC机上面的android模拟器却不能上网呢?是因为家里的PC机的DNS一般为:192.168.1.1,这个只是一般而言,不是绝对,这个得自己使用ipconfig /all命令检查下;而模拟器默认的DNS为:10.0.2.3,那么模拟器跟自己的PC就不在同一个网段了,使用就导致自己的PC机可以上网,而模拟器不能上网,下面就简单介绍下如何设置才能让模拟器也可以上网:
首先,如果没有配置sdk的环境变量的,那么在CMD命令下进入sdk安装路径的tools目录下,然后使用adb shell命令 ,如果配置了sdk的环境变量的,那么直接在CMD窗口中输入adb shell,如:C:\Documents and Settings\Administrator>adb shell
然后输入:getprop 查看系统当前的各项属性,得到模拟器的DNS地址,如下:
[net.dns1]: [10.0.2.3]
下面就是使用setprop命令把模拟器的DNS改为自己PC的DNS,例如:192.168.1.1
setprop net.dns1 192.168.1.1
设置完毕,回车生效,那么现在模拟器可以上外网了,就是这么简单!
注意:这些配置是在模拟器在运行的情况下才可以
D:
Cd D:\android-sdk-windows\tools
adb shell
Getprop------查看模拟器DNS服务器地址
setprop net.dns1 192.168.1.1 设置拟器DNS服务器地址
getprop
adb shell dumpsys window | findstr mCurrentFocus
通过命令获取:adb shell dumpsys window w |findstr \/ |findstr name=(这条命令的作用是,获取当前app和当前Activity的名字,我现在手机已经打开了计算器应用)如图:
补充:使用adb shell dumpsys window | findstr mCurrentFocus 命令查看当前运行的包名和Activity更清晰一些。
2、eclipse连接夜神模拟器,在夜神中装这个apk
THEME 需默认的,不用改
2、Adb命令
补充:使用adb shell dumpsys window | findstr mCurrentFocus 命令查看当前运行的包名和Activity更清晰一些。
给模拟器安装APK
Adb install D:\User\Desktop\1111111111\com.miaotong.live.calculator_102.apk
3、自动模拟器配置appium配置
4、夜神模拟器appium配置
5、pycharm逐步调试
6、webview第二次切换问题:
首先要有driver.quit()
WebDriverException: Message: chrome not reachable
(Session info: chrome=64.0.3282.137)
(Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Windows NT 6.1.7601 SP1 x86_64)
来源百度文档:https://www.cnblogs.com/JcHome/p/9429717.html
原因为:Appium第一次切换到Html页面时,会新生成一个Chromedriver;当第二次切换到Html时,会使用已经存在的Chromedriver。
解决方式:
找到Appium\Appium\node_modules\appium\lib\devices\android目录下的android-hybrid.js文件,但是我用的是Appium-desktop,需要该类文件,android-hybrid.js中发现失败此处有提示:'Found existing Chromedriver for context' ,于是在C:\Users\User_2\AppData\Local\Programs\appium-desktop文件下所有这个代码,发现两处有此代码,如下图:
就是改此函数
1、如下图百度中类似,对上图进行修改,上图目录lib,:C:\Users\User_2\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\commands\context.js,(appium-desktop中都是js文件,一般都两处,对应另一处文件:build, C:\Users\User_2\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\build\lib\commands)
2/lib修改如下,:C:\Users\User_2\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\commands\context.js,
3、build修改如下, C:\Users\User_2\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\build\lib\commands
同样也是:helpers.startChromedriverProxy, 这个函数
将case11中内容移到case3, 原case3内容注释
注意保存,appium-desktop中此问题解决。
7、appium-desktop的驱动问题
appium-chromedriver路径:
C:\Users\User_2\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
appium-desktop1.80以后的版本,该路径下可以自动识别可用版本驱动。
appium-desktop1.80以前的版本,驱动如果出现不适用的情况,优先用原生驱动试试
8、多机并发问题
9、多机运行问题
10、测试报告插入图片问题
11、32位python,内存溢出问题
12、Python离线安装包
第一种:不推荐
D:\Python27\Scripts\pip.exe install pywin32-223-cp27-cp27m-win_amd64.whl
安装成功后,再次打包,如报编码问题,将文件名改成字母数字就可以了。
d:
cd D:\pypackages\dist\xlrd-0.9.4
python setup.py install
第二种:pip
D:
Cd D:\python1\Scripts
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Appium-Python-Client
清华镜像库
升级requests
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade requests
13、appium-server
Appium-server崩溃问题
1、没有杀死或重启adb时,appium-server在运行两小时后,崩溃
原因:adb长期运行时,容易出现卡死、闪退等不稳定情况,adb不稳定,会导致appium-server闪退或卡死
2、每次用例结束后,杀死adb进程,appium-server长期运行,正常
3、手机应用出现崩溃时,也可能导致appium-server还在运行中,突然结束adb进程,导致appium-server闪退,图下图