zoukankan      html  css  js  c++  java
  • appium+python自动化40-adb offline(5037端口被占)

    前言

    adb连手机的时候经常会出现offline的情况,一般杀掉adb,然后重启adb可以解决。
    如果发现不管怎么重启adb都连不上,一直出现offlie的情况,这个时候很大可能就是adb的5037端口被其它应用占了

    offline

    1.如果之前一直都能正常连上adb,突然连不上了,可以用adb devices查看手机连接情况

    C:Usersadmin>adb devices
    List of devices attached
    * daemon not running; starting now at tcp:5037
    * daemon started successfully
    emulator-5554   offline
    
    
    C:Usersadmin>adb devices
    List of devices attached
    emulator-5554   offline
    

    2.发现无法连上,出现offline。可以尝试adb kill-server,然后再用adb device查看

    C:Usersadmin>adb kill-server
    
    C:Usersadmin>adb devices
    List of devices attached
    * daemon not running; starting now at tcp:5037
    * daemon started successfully
    emulator-5554   offline
    

    3.上面各种办法尝试了,都无法解决,接下来就要查看5037端口了

    查看端口

    1.windows上可以用findstr过滤进程(跟linux上grep指令一样),查询结果看最后一项PID,如果是0那就不用管,那最后就有两个PID占用了5037端口,
    分别是6532和7200

    netstat -aon|findstr 5037

    C:Usersadmin>netstat -aon|findstr 5037
      TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       6532
      TCP    127.0.0.1:5037         127.0.0.1:56975        TIME_WAIT       0
      TCP    127.0.0.1:5037         127.0.0.1:56976        TIME_WAIT       0
      TCP    127.0.0.1:5037         127.0.0.1:56981        ESTABLISHED     6532
      TCP    127.0.0.1:5037         127.0.0.1:56988        TIME_WAIT       0
      TCP    127.0.0.1:5037         127.0.0.1:56990        TIME_WAIT       0
      TCP    127.0.0.1:5037         127.0.0.1:56991        TIME_WAIT       0
      TCP    127.0.0.1:56981        127.0.0.1:5037         ESTABLISHED     7200
    

    2.接下来就行查看PID,看是哪个应用占了

    tasklist /fi "PID eq 端口号"

    C:Usersadmin>tasklist /fi "PID eq 6532"
    
    映像名称                       PID 会话名              会话#       内存使用
    ========================= ======== ================ =========== ============
    adb.exe                       6532 Console                    1     18,432 K
    
    C:Usersadmin>tasklist /fi "PID eq 7200"
    
    映像名称                       PID 会话名              会话#       内存使用
    ========================= ======== ================ =========== ============
    emulator-arm.exe              7200 Console                    1    884,088 K
    

    3.从结果可以看出,有两个应用占了,一个是adb本身,另外一个是模拟器(emulator-arm.exe),端口发生冲突了,接下来杀掉占用5037端口的进程

    taskkill /pid 7200 /f

    C:Usersadmin>taskkill /pid 7200
    成功: 已终止 PID 为 7200 的进程。
    

    在学习过程中有遇到疑问的,可以appium+python QQ群交流:330467341

  • 相关阅读:
    sqlserver 执行脚本报内存溢出的处理方式
    框架重构:测试中的DateTime.Now
    框架重构:规范集成测试的结构和命名规则
    框架重构:记录创建人、最后修改人、创建时间、最后修改时间
    从VS2010跳跃到VS2017
    ASP.NET网站发布时的那些坑
    使用pjax时点击浏览器刷新按钮仅加载内容页的解决办法
    让ASP.NET第一次请求不变慢
    正确设置Firefox下载文件文件名的方法
    通过反编译让SpecFlow支持多层属性值的验证
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/9008799.html
Copyright © 2011-2022 走看看