[小菜随笔]新手使用appium+python进行自动化测试过程中webdriver.Remote报错的错误分析方法(带实例)

很多人刚开始使用python+appium去执行APP自动化的时候经常会遇到webdriver.Remote,报错位置指向都是driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub/',desired_caps)这行代码

很容易误导别人错认为是自己的webdriver发生了错误,此时应该如何排查这个问题,以下将举例说明

当发生以下错误的时候

Traceback (most recent call last):
File "E:Workplaceapp testlogin_test.py", line 22, in <module>
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub/',desired_caps)
File "E:Python27libsite-packagesappiumwebdriverwebdriver.py", line 36, in __init__
super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)

查看的错误信息实际并非以上的信息,很有可能是程序最后报错的信息,所以我们首要的任务需要对程序最后报错的信息进行排查

案例一:JAVA环境没有正常安装布置(案例转自网络)

最后的提示:

 在最后的提示上已经明确的指出实际出错的错误,检查自己JAVA程序和环境变量的配置

 可以在cmd命令上进行JAVA -VERSION检测环境是否正常(下图就是正常的返回)

案例二:APK的路径路径设置错误

最后的错误提示:

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Original error: Bad app: C:ContactManager.apk. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Error locating the app: ENOENT, stat 'C:ContactManager.apk')

简单翻译为:原来的错误:错误的应用:C: contactmanager.apk。应用程序的路径必须是绝对的,或相对于Appium服务器安装目录,或一个URL压缩文件,或一个特殊的应用程序名称。原因:错误:错误定位的应用

解决方法:1、查看你的APK的路径是否正确,最好使用绝对路径

     2、假若找不到解决方法且安装功能非必要用例,可以使用adb shell install 应用包(包含路径) 将APK安装,去除安装的设置代码

大部分这种问题的错误居多都报错在最后,英文水平较差的兄弟可以使用翻译软件翻译大部分基本语言去理解,由于本人水平也有限,只是提供给大家找问题的一个方法,如有更好的方法可以在评论区留言讨论

以下是网络搜索结果的解决方法,为了方便读者参考,我也一并转载过来了

转载地址:http://blog.csdn.net/rziqq/article/details/51161543

先检查Appium server是否启动:

address 127.0.0.1  port 4723 将会用于webdriver.remote构造函数的第一个参数,

可以在config.py中如下配置:

cf_appium_hub = 'http://127.0.0.1:4723/wd/hub'
BaseActions.app_driver = webdriver.Remote(
    command_executor=config.cf_appium_hub,
    desired_capabilities={
        'deviceName': config.cf_device_name,
        'platformName': config.cf_platform_name,
        'platformVersion': config.cf_platform_version,
        'appPackage': app_package,
        'appActivity': app_activity
    })
原文地址:https://www.cnblogs.com/test-xiaocai/p/5810888.html