Beauty_shimei 2019-05-21 16:12 采纳率: 0%
浏览 576

使用appium进行remove_app或者install_app操作报错

求帮助!我大概能知道是进程的原因,但仍然是百思不得其解!使用appium进行remove_app或者install_app操作报错Message: ERROR running Appium command: Cannot read property 'curDeviceId' of null

desired_caps = {
                'platformName': 'Android',
                'deviceName': 'Z2X4C15723003439',
                # 'deviceName': 'LE67A06230436549',
                'platformVersion': '6',
                # 'app': packages[0]
                # apk包名
                 'appPackage': 'com.cehome.tiebaobei',
                # apk的launcherActivity
                'appActivity': 'com.cehome.tiebaobei.activity.MainEntranceActivity'
                }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
time.sleep(20)
driver.close_app()
time.sleep(30)
driver.remove_app('com.cehome.tiebaobei')
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-09 17:31
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在使用Appium进行remove_appinstall_app操作时遇到错误消息“Cannot read property ‘curDeviceId’ of null”通常表示当前运行的应用程序正在后台运行。这可能是因为应用程序处于前台状态,而不是被关闭。

    要解决此问题,请确保应用程序已经停止运行。以下是将应用程序从后台移除并重新启动它的步骤:

    1. remove_app方法中添加以下代码以检查应用程序是否已退出:
    if driver.is_app_installed('com.cehome.tiebaobei'):
        driver.stop_app('com.cehome.tiebaobei')
    else:
        print("The app is not installed.")
    
    1. 使用上述代码之后,再次尝试执行remove_appinstall_app操作。
    2. 如果应用程序仍然无法正常卸载,请考虑重启设备或应用商店服务,然后再次尝试。

    如果以上步骤都不能解决问题,那么可能是其他原因导致的。例如,应用程序可能在后台运行,并且您没有正确地调用stop_app方法来结束它。在这种情况下,您可以尝试以下代码:

    def remove_app(self, app_package):
        try:
            self.driver.stop_app(app_package)
        except Exception as e:
            print(f"Error stopping app {app_package}: {e}")
    

    在这个例子中,我们创建了一个名为remove_app的函数,用于调用self.driver.stop_app()来停止指定的应用程序。如果抛出异常,则打印一个错误消息。这应该有助于定位和解决特定的错误。

    希望这个解决方案可以帮助你解决问题!

    评论

报告相同问题?