Appium: Ruby: ошибка загрузки в драгоценном камне

У меня возникают ошибки при загрузке этого элемента 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>'

Ответ 1

Вы просили меня о помощи, но кроме исправления, которую вы опубликовали изначально, я могу просто дать вам общий совет, так как у меня нет опыта работы с appium, и предварительные условия слишком высоки, чтобы попробовать.

Откуда у вас код для require_relatives, который вы делаете? Я не могу найти много документации в Интернете. Они должны ссылаться на драгоценные камни или рубиновые файлы. В случае с драгоценным камнем (например, require 'appium_lib') вам необходимо выполнить предварительные условия (только iOs, gem и т.д.), В случае рубинового script файла вы можете проверить, где находится файл в вашей файловой системе и вам лучше использовать расширение файла .rb.

eg require_relative './libs/adbManager.rb' будет файл, который находится в папке подпапки вашего основного script, называемого adbManager.rb.

Если это будет часть appium, это скорее будет что-то вроде

require 'appium_lib/adbManager'