Appium兼容性问题


 

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闪退,图下图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM