I have a script testcase using appium with ruby, here’s my config file:
require 'selenium-webdriver'
require 'appium_lib'
class AppiumWorld
def capabilities
{
'platformName' => 'Android',
'deviceName' => 'Samsung Galaxy S6',
'platformVersion' => '6.0',
'apppackage' => 'com.btaskee',
'appactivity' => 'com.btaskee.MainActivity',
'androidDeviceReadyTimeout' => 10,
'dontStopAppOnReset' => true,
'app' => File.expand_path('../android/app/build/outputs/apk/app-debug.apk', Dir.pwd),
}
end
def server_url
"http://127.0.0.1:4723/wd/hub"
end
end
def selenium
@driver ||= Selenium::WebDriver.for(:remote, :desired_capabilities => AppiumWorld.new.capabilities, :url => AppiumWorld.new.server_url)
end
In the other file, I run the testcase using this code:
action = Appium::TouchAction.new.swipe(start_x: 200, start_y: 200, offset_x: 200, offset_y: 500, duration: 500)
action.perform
And I’m getting an error:
undefined method `device_is_android?' for nil:NilClass (NoMethodError)
I’m using appium 1.7.1
Please help !!!