• [小菜随笔]新手使用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
        })
  • 相关阅读:
    MySQL数据库高可用集群搭建-PXC集群部署
    高性能高并发网站架构,教你搭建Redis5缓存集群
    redis连接错误3种解决方案System Error MISCONF Redis is configured to save RDB snapshots
    进程异常行为-反弹Shell攻击,KILL多个进程
    Laravel中我们登录服务器通过 Tinker 手动创建后台管理用户
    Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]解决
    Laravel:php artisan key:generate三种报错解决方案,修改默认PHP版本(宝塔面板)
    大型网站如何防止崩溃,解决高并发带来的问题
    PHP微信公众平台OAuth2.0网页授权,获取用户信息代码类封装demo(二)
    iOS开发 ReactiveCocoa入门教程 第二部分
  • 原文地址:https://www.cnblogs.com/test-xiaocai/p/5810888.html
Copyright © 2020-2023  润新知