lib/xcmonkey.rb in xcmonkey-0.3.0 vs lib/xcmonkey.rb in xcmonkey-1.0.0
- old
+ new
@@ -1,30 +1,23 @@
require 'json'
require 'colorize'
require_relative 'xcmonkey/describer'
+require_relative 'xcmonkey/repeater'
require_relative 'xcmonkey/version'
require_relative 'xcmonkey/logger'
require_relative 'xcmonkey/driver'
module Xcmonkey
class Xcmonkey
- attr_accessor :udid, :bundle_id, :duration, :driver
+ attr_accessor :driver
def initialize(params)
ensure_required_params(params)
- self.udid = params[:udid]
- self.bundle_id = params[:bundle_id]
- self.duration = params[:duration]
self.driver = Driver.new(params)
end
def run
- driver.ensure_device_exists
- driver.ensure_app_installed
- driver.terminate_app
- driver.open_home_screen(with_tracker: true)
- driver.launch_app
driver.monkey_test(gestures)
end
def gestures
taps = [:precise_tap, :blind_tap] * 10
@@ -33,10 +26,14 @@
taps + swipes + presses
end
def ensure_required_params(params)
Logger.error('UDID should be provided') if params[:udid].nil?
+
Logger.error('Bundle identifier should be provided') if params[:bundle_id].nil?
+
+ Logger.error('Session path should be a directory') if params[:session_path].nil? || !File.directory?(params[:session_path])
+
if params[:duration].nil? || !params[:duration].kind_of?(Integer) || !params[:duration].positive?
Logger.error('Duration must be Integer and not less than 1 second')
end
end
end