Неинициализированная константа Applitools::Utils::EyesSeleniumUtils::Appium (NameError)

Я получаю ошибку ниже при запуске сценария ruby ​​applitool-

Erro - `mobile_device? ': Неинициализированная константа Applitools::Utils::EyesSeleniumUtils::Appium (NameError)

Ниже мой класс -

require 'eyes_selenium'
require 'selenium-webdriver'
# Initialize the eyes SDK and set your private API key.
eyes = Applitools::Selenium::Eyes.new
eyes.api_key = 'YOUR_API_KEY'
# Open a Chrome Browser.
driver = Selenium::WebDriver.for :chrome
begin
  # Start the test and set the browser's viewport size to 800x600.
  eyes.test(app_name: 'Hello World!', test_name: 'My first Selenium Ruby test!',
            viewport_size: {width:800, height:600}, driver: driver) do
    # Navigate the browser to the "hello world!" web-site.
    driver.get 'https://applitools.com/helloworld'
    # Visual checkpoint #1.
    eyes.check_window 'Hello!'
    # Click the "Click me!".
    driver.find_element(:tag_name => 'button').click
    # Visual checkpoint #2.
    eyes.check_window 'Click!'
  end
ensure
  # Close the browser.
  driver.quit

  # If the test was aborted before eyes.close was called, ends the test as aborted.`

1 ответ

Кажется, как-то вы установили переменную $driver, Предполагается, что он будет использоваться Appium для своих испытаний.

В качестве быстрого исправления попробуйте явно установить $ driver для nil для вашего теста (например, в начале скрипта), вот так:

$driver = nil

Обратите внимание, что знак "$" перед переменной важен, и $driver это не то же самое, что driver

Кроме того, нет необходимости требовать 'selenium-webdriver', так как он будет автоматически запрашиваться eyes_selenium в качестве зависимости

Другие вопросы по тегам