Class: Applitools::Connectivity::UniversalClient
- Inherits:
-
Object
- Object
- Applitools::Connectivity::UniversalClient
- Extended by:
- Forwardable
- Defined in:
- lib/applitools/universal_sdk/universal_client.rb
Constant Summary collapse
- SESSION_INIT =
'Core.makeCore'
- CORE_MAKE_MANAGER =
'Core.makeManager'
- CORE_GET_VIEWPORT_SIZE =
'Core.getViewportSize'
- CORE_SET_VIEWPORT_SIZE =
'Core.setViewportSize'
- CORE_CLOSE_BATCHES =
'Core.closeBatch'
- CORE_DELETE_TEST =
'Core.deleteTest'
- EYES_MANAGER_MAKE_EYES =
'EyesManager.openEyes'
- EYES_MANAGER_CLOSE_ALL_EYES =
'EyesManager.closeManager'
- EYES_CHECK =
'Eyes.check'
- EYES_CHECK_AND_CLOSE =
…
'Eyes.checkAndClose'
- EYES_LOCATE =
'Core.locate'
- EYES_EXTRACT_TEXT_REGIONS =
'Eyes.locateText'
- EYES_EXTRACT_TEXT =
'Eyes.extractText'
- EYES_CLOSE =
'Eyes.close'
- EYES_ABORT =
'Eyes.abort'
Instance Attribute Summary collapse
-
#commands_config ⇒ Object
Returns the value of attribute commands_config.
Instance Method Summary collapse
- #config_mapping(old_config, command_config, name) ⇒ Object
- #core_close_batches(close_batch_settings = nil) ⇒ Object
- #core_delete_test(delete_test_settings) ⇒ Object
- #core_get_viewport_size(driver) ⇒ Object
- #core_make_manager(eyes_manager_config) ⇒ Object
- #core_set_viewport_size(driver, size) ⇒ Object
- #eyes_abort(eyes) ⇒ Object
- #eyes_check(eyes, settings, image_target = {}) ⇒ Object
- #eyes_close(eyes) ⇒ Object
- #eyes_extract_text(eyes, regions, driver_target) ⇒ Object
- #eyes_extract_text_regions(eyes, settings, driver_target) ⇒ Object
- #eyes_locate(eyes, settings, driver_target) ⇒ Object
- #eyes_manager_close_all_eyes(manager) ⇒ Object
- #eyes_manager_make_eyes(manager, driver_config, config) ⇒ Object
-
#initialize ⇒ UniversalClient
constructor
A new instance of UniversalClient.
- #make_manager(eyes_manager_config) ⇒ Object
- #map_open_eyes_config_to_commands_config(config) ⇒ Object
Constructor Details
#initialize ⇒ UniversalClient
Returns a new instance of UniversalClient.
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 39 def initialize # @socket = Applitools::Connectivity::UniversalClientSocket.new prepare_socket # store on open for next check calls @open_config = nil @commands_config = { open: {}, screenshot: {}, check: {}, close: {} } end |
Instance Attribute Details
#commands_config ⇒ Object
Returns the value of attribute commands_config.
37 38 39 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 37 def commands_config @commands_config end |
Instance Method Details
#config_mapping(old_config, command_config, name) ⇒ Object
72 73 74 75 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 72 def config_mapping(old_config, command_config, name) return if old_config[name].nil? command_config[name] = old_config.delete(name) end |
#core_close_batches(close_batch_settings = nil) ⇒ Object
258 259 260 261 262 263 264 265 266 267 268 269 270 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 258 def core_close_batches(close_batch_settings=nil) # interface CloseBatchRequestPayload { # settings: CloseBatchSettings | CloseBatchSettings[] # } unless close_batch_settings.is_a?(Hash) batch_ids = [@open_config[:batch][:id]] batch_ids = [close_batch_settings] if close_batch_settings.is_a?(String) batch_ids = close_batch_settings if close_batch_settings.is_a?(Array) optional = [:serverUrl, :apiKey, :proxy].map {|k| [k, @open_config[k]] }.to_h close_batch_settings = { settings: ({ batchIds: batch_ids }.merge(optional).compact) } end command_with_result(CORE_CLOSE_BATCHES, close_batch_settings) end |
#core_delete_test(delete_test_settings) ⇒ Object
272 273 274 275 276 277 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 272 def core_delete_test(delete_test_settings) # interface DeleteTestRequestPayload { # settings: DeleteTestSettings | DeleteTestSettings[] # } command_with_result(CORE_DELETE_TEST, delete_test_settings) end |
#core_get_viewport_size(driver) ⇒ Object
238 239 240 241 242 243 244 245 246 247 248 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 238 def (driver) # interface GetViewportSizeRequestPayload { # target: DriverTarget # } # # interface GetViewportSizeResponsePayload { # width: number # height: number # } command_with_result(CORE_GET_VIEWPORT_SIZE, {target: driver}) end |
#core_make_manager(eyes_manager_config) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 60 def core_make_manager(eyes_manager_config) # interface MakeManagerRequestPayload { # type: 'ufg' | 'classic' # concurrency?: number # legacyConcurrency?: number # agentId?: string # } # # type MakeManagerResponsePayload = Ref<EyesManager> command_with_result(CORE_MAKE_MANAGER, eyes_manager_config) end |
#core_set_viewport_size(driver, size) ⇒ Object
250 251 252 253 254 255 256 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 250 def (driver, size) # interface SetViewportSizeRequestPayload { # target: DriverTarget # size: {width: number, height: number} # } command_with_result(CORE_SET_VIEWPORT_SIZE, {target: driver, size: size}) end |
#eyes_abort(eyes) ⇒ Object
229 230 231 232 233 234 235 236 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 229 def eyes_abort(eyes) # interface AbortPayload { # eyes: Ref<Eyes> # } # # type AbortResponsePayload = TestResult[] command_with_result(EYES_ABORT, {eyes: eyes}) end |
#eyes_check(eyes, settings, image_target = {}) ⇒ Object
160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 160 def eyes_check(eyes, settings, image_target = {}) # interface CheckRequestPayload { # eyes: Ref<Eyes> # target?: ImageTarget | DriverTarget # settings?: CheckSettings # config?: Config # } # # type CheckResponsePayload = CheckResult[] payload = {eyes: eyes, settings: settings, config: commands_config} payload[:target] = image_target unless image_target.empty? command_with_result(EYES_CHECK, payload) end |
#eyes_close(eyes) ⇒ Object
216 217 218 219 220 221 222 223 224 225 226 227 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 216 def eyes_close(eyes) # interface CloseResponsePayload { # eyes: Ref<Eyes> # settings?: CloseSettings # config?: Config # } # # type CloseResponsePayload = TestResult[] settings = {throwErr: false} command_with_result(EYES_CLOSE, {eyes: eyes, settings: settings, config: commands_config}) end |
#eyes_extract_text(eyes, regions, driver_target) ⇒ Object
202 203 204 205 206 207 208 209 210 211 212 213 214 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 202 def eyes_extract_text(eyes, regions, driver_target) # interface ExtractTextRequestPayload { # eyes: Ref<Eyes> # target?: ImageTarget | DriverTarget # settings?: ExtractTextSettings | ExtractTextSettings[] # config?: Config # } # # type ExtractTextResponcePayload = string[] payload = {eyes: eyes, target: driver_target, settings: regions, config: commands_config} payload.delete(:settings) if regions.empty? command_with_result(EYES_EXTRACT_TEXT, payload) end |
#eyes_extract_text_regions(eyes, settings, driver_target) ⇒ Object
188 189 190 191 192 193 194 195 196 197 198 199 200 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 188 def eyes_extract_text_regions(eyes, settings, driver_target) # interface LocateTextRequestPayload { # eyes: Ref<Eyes> # target?: ImageTarget | DriverTarget # settings?: LocateTextSettings # config?: Config # } # # type LocateTextResponcePayload = Record<string, Array<{text: string, x: number, y: number, width: number, hieght: number}>> payload = {eyes: eyes, target: driver_target, settings: settings, config: commands_config} payload.delete(:target) if driver_target.nil? || driver_target.empty? command_with_result(EYES_EXTRACT_TEXT_REGIONS, payload) end |
#eyes_locate(eyes, settings, driver_target) ⇒ Object
174 175 176 177 178 179 180 181 182 183 184 185 186 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 174 def eyes_locate(eyes, settings, driver_target) # interface LocateRequestPayload { # target?: ImageTarget | DriverTarget # settings?: LocateSettings # config?: Config # } # # interface LocateResponsePayload { # [key: string]: Array<{x: number, y: number, width: number, height: number}> # } command_with_result(EYES_LOCATE, {target: driver_target, settings: settings, config: commands_config}) end |
#eyes_manager_close_all_eyes(manager) ⇒ Object
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 136 def eyes_manager_close_all_eyes(manager) # interface CloseManagerRequestPayload { # manager: Ref<EyesManager> # settings?: {throwErr?: boolean} # } # # interface CloseManagerResponsePayload { # results: Array<{ # error?: Error # result?: TestResult # renderer?: TType extends 'ufg' ? Renderer : never # userTestId: string # }> # passed: number # unresolved: number # failed: number # exceptions: number # mismatches: number # missing: number # matches: number # } command_with_result(EYES_MANAGER_CLOSE_ALL_EYES, {manager: manager, config: commands_config}) end |
#eyes_manager_make_eyes(manager, driver_config, config) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 121 def eyes_manager_make_eyes(manager, driver_config, config) @open_config = config map_open_eyes_config_to_commands_config(config) # interface OpenEyesRequestPayload { # manager: Ref<EyesManager> # target?: DriverTarget # settings?: OpenSettings # config?: Config # } # # type OpenEyesResponsePayload = Ref<Eyes> command_with_result(EYES_MANAGER_MAKE_EYES, {manager: manager, target: driver_config, settings: commands_config[:open], config: commands_config}) end |
#make_manager(eyes_manager_config) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 52 def make_manager(eyes_manager_config) Applitools::EyesLogger.logger.debug "EyesManager config: #{eyes_manager_config}" eyes_manager = core_make_manager(eyes_manager_config) Applitools::EyesLogger.logger.debug "EyesManager applitools-ref-id: #{eyes_manager[:"applitools-ref-id"]}" Applitools::UniversalEyesManager.new(eyes_manager, self) end |
#map_open_eyes_config_to_commands_config(config) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/applitools/universal_sdk/universal_client.rb', line 77 def map_open_eyes_config_to_commands_config(config) [ :serverUrl, :apiKey, :proxy, :connectionTimeout, :removeSession, :agentId, :appName, :testName, :displayName, :userTestId, :sessionType, :properties, :batch, :keepBatchOpen, :environmentName, :environment, :branchName, :parentBranchName, :baselineEnvName, :baselineBranchName, :compareWithParentBranch, :ignoreBaseline, :ignoreGitBranching, :saveDiffs, :abortIdleTestTimeout ].each do |k| config_mapping(config, commands_config[:open], k) end commands_config[:open][:keepBatchOpen] = config.delete(:dontCloseBatches) unless config[:dontCloseBatches].nil? [:hideCaret, :hideScrollbars, :disableBrowserFetching, :sendDom, :stitchMode, :layoutBreakpoints, :waitBeforeCapture].each do |k| config_mapping(config, commands_config[:check], k) end commands_config[:check][:renderers] = config.delete(:browsersInfo) unless config[:browsersInfo].nil? unless config[:defaultMatchSettings].nil? if config[:defaultMatchSettings][:accessibilitySettings] commands_config[:check][:accessibilitySettings] = {} commands_config[:check][:accessibilitySettings][:level] = config[:defaultMatchSettings][:accessibilitySettings].delete(:level) unless config[:defaultMatchSettings][:accessibilitySettings][:level].nil? commands_config[:check][:accessibilitySettings][:version] = config[:defaultMatchSettings][:accessibilitySettings].delete(:guidelinesVersion) unless config[:defaultMatchSettings][:accessibilitySettings][:guidelinesVersion].nil? config[:defaultMatchSettings].delete(:accessibilitySettings) if config[:defaultMatchSettings][:accessibilitySettings].empty? end commands_config[:check][:ignoreCaret] = config[:defaultMatchSettings].delete(:ignoreCaret) unless config[:defaultMatchSettings][:ignoreCaret].nil? commands_config[:check][:matchLevel] = config[:defaultMatchSettings].delete(:matchLevel) unless config[:defaultMatchSettings][:matchLevel].nil? config.delete(:defaultMatchSettings) if config[:defaultMatchSettings].empty? end if commands_config[:check][:fully].nil? commands_config[:check][:fully] = config.delete(:forceFullPageScreenshot) unless config[:forceFullPageScreenshot].nil? end commands_config[:close][:updateBaselineIfNew] = config.delete(:saveNewTests) unless config[:saveNewTests].nil? commands_config[:close][:updateBaselineIfDifferent] = config.delete(:saveFailedTests) unless config[:saveFailedTests].nil? commands_config[:screenshot] = commands_config[:check] end |