• 我觉得监控肯定有坑吧,比如多个进程下每个进程要启动很多线程要要看资源分配,虽然表面上没问题但是并发起来遇见adb等卡死,还在在线程中做修饰器处理
    要是观察觉得好点,其实你看看设计模式就知道了
    case继承,注册的就搞定了

  • 1我的思路是:开发模式中有个观察者模式,如果发现不到理想的空间就上报给监控watcher, 然后每个case注册响应的监控处理就可以了
    这个思想办法有点像uiautomator的watcher组件
    应用上的代码就可以完善,框架设计模式优化下,不需要考虑底层的代码

    2笨一点的:多线程,一直轮询
    上面的try不适合,那抛异常的话就不能继续执行下面的代码了

    3再笨一点就是写个方法,脚本里多次调用看是不是弹出这个

  • 我也发现了10多个手机 多进程的时候,总是有一个手机没有启动

  • 是可行的 不过appium要升级到1.10以上的兼容2
    不过adb点击坐标比较不兼容,dump page分析还好一点 就是慢

  • app是不是target 26以上

  • 我这里是安卓也会闪退,在uiautomator2的时候会发生,即使拔出usb,重启手机再次打开app,等一会也会闪退
    但是在uiautomator不复现

    请问为什么啊???

  • 我这是被测试的app闪退,而且是uiautomator2的时候才会发现,如何解决?? 求大神解决

  • 我怀疑你打印page_source的时候是发现是一个installer的系统界面,并不是我们看到的这个界面
    所以发现不了当前的元素

  • desired_caps2 = {"deviceName":"860BCMN22FF2",
    "app": app,
    "noReset": True,
    "appWaitPackage": "c.l.a",
    "appWaitActivity":"com.example.TestPlugin.MyActivity",
    "appWaitDuration": 60000,
    "newCommandTimeout": 200,
    "platformVersion": "7.0",
    "autoGrantPermissions": True,
    "platformName": "Android",
    "automationName": "UiAutomator2"
    }


    sleep(3)


    if __name__ == "__main__":
    # 调用始终允许函数
    print('begin main')

    # performance_service = PermissionServer(desired_caps['deviceName'], False)
    # performance_service.start()

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    time.sleep(1)
    # performance_service.setPause(1)

    if name == "main":
    # 调用始终允许函数
    print('begin main')

    # performance_service = PermissionServer(desired_caps['deviceName'], False)
    # performance_service.start()

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    time.sleep(1)
    # performance_service.setPause(1)

    遇见几个问题:已经block了

    为什么后安装上的app, 启动后不长时间就自己杀死进程呢??
    发现安装上的app和原来的app签名文件不一样? 如何解决这个2个问题呢???
    app升级到28后,必须怎么解决的???

  • desired_caps2 = {"deviceName":"860BCMN22FF2",
    "app": app,
    "noReset": True,
    "appWaitPackage": "c.l.a",
    "appWaitActivity":"com.example.TestPlugin.MyActivity",
    "appWaitDuration": 60000,
    "newCommandTimeout": 200,
    "platformVersion": "7.0",
    "autoGrantPermissions": True,
    "platformName": "Android",
    "automationName": "UiAutomator2"
    }


    sleep(3)


    if __name__ == "__main__":
    # 调用始终允许函数
    print('begin main')

    # performance_service = PermissionServer(desired_caps['deviceName'], False)
    # performance_service.start()

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    time.sleep(1)
    # performance_service.setPause(1)


    遇见几个问题:已经block了

    1. 为什么后安装上的app, 启动后不长时间就自己杀死进程呢??
    2. 发现安装上的app和原来的app签名文件不一样? 如何解决这个2个问题呢???

    app升级到28后,必须怎么解决的???