zoukankan      html  css  js  c++  java
  • [小菜随笔]新手使用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
        })
  • 相关阅读:
    matlab中的rng函数
    重装系统的两种方法
    如何用cmd指令清除U盘的PE分区
    python缩进
    matlab处理dat数据
    word空格后整体移动的问题
    窗函数
    去除信号中的直流分量
    第07组 团队Git现场编程实战
    第二次结对编程作业
  • 原文地址:https://www.cnblogs.com/test-xiaocai/p/5810888.html
Copyright © 2011-2022 走看看