【问题标题】:Appium:Ruby: Load error in the gemAppium:Ruby:在gem中加载错误
【发布时间】:2017-09-15 05:08:26
【问题描述】:

加载此require-relative 元素时出错。任何想法如何解决它?

我已经尝试搜索android sdk,对于require relative 中提到的以下内容,我应该放置任何文件来完成这项工作吗?>

require 'appium_lib'
require_relative './libs/adbManager'
require_relative './libs/error_handler'
require_relative './libs/android_manifest_parser'

错误:

cannot load such file -- /Users/jain/Documents/fslearning-android/Features/Support/libs/adbManager (LoadError)
/Users/jain/Documents/fslearning-android/Features/Support/hooks.rb:2:in `require_relative'
/Users/jain/Documents/fslearning-android/Features/Support/hooks.rb:2:in `<top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/rb_support/rb_language.rb:96:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/rb_support/rb_language.rb:96:in `load_code_file'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:142:in `load_file'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:84:in `block in load_files!'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:83:in `each'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:83:in `load_files!'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/runtime.rb:253:in `load_step_definitions'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/runtime.rb:61:in `run!'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/lib/cucumber/cli/main.rb:32:in `execute!'
/usr/local/lib/ruby/gems/2.4.0/gems/cucumber-2.4.0/bin/cucumber:8:in `<top (required)>'
/usr/local/bin/cucumber:22:in `load'
/usr/local/bin/cucumber:22:in `<main>'

【问题讨论】:

    标签: android ruby adb appium


    【解决方案1】:

    您向我寻求帮助,但除了您最初发布的错误之外,我只能给您一些一般性建议,因为我对 appium 本身没有经验,而且先决条件太高而无法尝试。

    你从哪里得到你正在制作的 require_relatives 的代码? 我在网上找不到太多文档。他们应该引用 gems 或 ruby​​ 文件。 对于 gem(如require 'appium_lib'),您需要满足先决条件(仅限 iO?,已安装 gem?等),对于 ruby​​ 脚本文件,您可以检查文件在文件系统中的位置,并且您最好使用文件扩展名.rb

    例如require_relative './libs/adbManager.rb' 将是一个位于主脚本的子文件夹 libs 中的文件,名为 adbManager.rb

    如果它是 appium 的一部分,它会是类似的东西

    require 'appium_lib/adbManager'
    

    【讨论】:

    • 感谢您的回复,我在从 IDE 复制到此处时不知何故错过了报价。即使使用引号也是同样的错误。
    • 我从你的回答中看到,require_relative 正在加载一个特定的文件,我想知道,上面提到的require_relative 中的文件是否是appium_lib 的一部分?对此有什么想法吗?
    • 我知道那些是什么。这些只是引用另一个文件,从一个文件调用一个方法到另一个文件。
    • 现在好尴尬,居然不知道这个概念。
    猜你喜欢
    • 2011-05-09
    • 2016-07-12
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多