bugsnag-maze-runner 9.19.1 → 9.21.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '068a0726f8c46c10e1b0b9fa81515350b79442592187fe9372fe1ff71c9f6034'
4
- data.tar.gz: fd5dfc8752c96f1d0eef42673637e0cb61e0a78acd399586d96067ec4fdded9c
3
+ metadata.gz: 0b00232685620344397218ed5ccf143f583dea9cb7a94c454dcbc7f8d5ea00c3
4
+ data.tar.gz: 44d839ae61d043e63c01b4462359d6b8ccef54a73eac1cc679c1813099aeafab
5
5
  SHA512:
6
- metadata.gz: 13ffe1a63394e67502883dcfb521abe10188e0ab6ac65f8484ece1fd1d30164f2fbe9ddb24db9915bce18ffa20019cc9e32d3272f4c27d69c5f61c06b2792423
7
- data.tar.gz: 01f0b62a252b17cf44d6356d70472a2f4a200300b4794b6c234b2d7678bfc42a7d3e9c1cfa3e1cba2969b97cff96c19062145ac6e98158ceba41f47f1b84f531
6
+ metadata.gz: 0a8ac5cdcb8da3b8cfc80b54f8318989eef4df1f8b92dcff63884544bb25f6dde895aeeac0aa4c9091f385d029e7fd6a00ff6b04772bbdb71699686c6620eeda
7
+ data.tar.gz: 8e88e848cf6599fb944ce054a0fda6e65bc873fc3b6bf7b91c62f5a55f06332d00096c9ef060f69dccabe670475371d3d59e8d88036a870dd41fe157ee2621b0
@@ -43,6 +43,8 @@ module Maze
43
43
  port = 0
44
44
  count = 0
45
45
  max_attempts = 30
46
+ invalid_response_retries = 0
47
+ max_invalid_retries = 2
46
48
 
47
49
  # Give up after 30 seconds
48
50
  while port == 0 && count < max_attempts do
@@ -54,6 +56,17 @@ module Maze
54
56
  json_string = result[0][0].strip
55
57
  json_result = JSON.parse(json_string)
56
58
  port = json_result['NetworkSettings']['Ports']["#{local_port}/tcp"][0]['HostPort']
59
+ rescue NoMethodError => error
60
+ if invalid_response_retries >= max_invalid_retries
61
+ Bugsnag.notify error
62
+ $logger.error "Public port response was invalid or incomplete: #{json_string}"
63
+ $logger.error "This has occurred more than maximum allowed #{max_invalid_retries}, exiting port process"
64
+ return 0
65
+ else
66
+ invalid_response_retries += 1
67
+ $logger.warn "Public port response was invalid or incomplete: #{json_string}"
68
+ $logger.warn "Attempting to acquire public port again, retry attempt: #{invalid_response_retries}"
69
+ end
57
70
  rescue StandardError => error
58
71
  Bugsnag.notify error
59
72
  $logger.error "Unable to parse public port from: #{json_string}"
@@ -23,11 +23,16 @@ module Maze
23
23
  Maze.driver.session_capabilities['appPackage']
24
24
  when 'ios'
25
25
  unless app_id = Maze.driver.session_capabilities['CFBundleIdentifier']
26
- app_id = Maze.driver.session_capabilities['bundleID']
26
+ app_id = Maze.driver.session_capabilities['bundleId']
27
27
  end
28
28
  app_id
29
29
  end
30
30
 
31
+ if Maze.driver.app_id.nil?
32
+ $logger.error "Failed to determine app id."
33
+ $logger.debug "session_capabilities: #{Maze.driver.session_capabilities.inspect}"
34
+ end
35
+
31
36
  # Ensure the device is unlocked
32
37
  begin
33
38
  Maze.driver.unlock
@@ -124,6 +124,20 @@ ios_12:
124
124
  osVersion: "12"
125
125
  realMobile: true
126
126
 
127
+ ios_13:
128
+ browserName: "iphone"
129
+ device: "iPhone 11"
130
+ os: "ios"
131
+ osVersion: "13"
132
+ realMobile: true
133
+
134
+ ios_14:
135
+ browserName: "iphone"
136
+ device: "iPhone 12"
137
+ os: "ios"
138
+ osVersion: "14"
139
+ realMobile: true
140
+
127
141
  ios_15:
128
142
  browserName: "iphone"
129
143
  device: "iPhone 13"
@@ -144,6 +158,13 @@ ios_17:
144
158
  osVersion: "17"
145
159
  realMobile: true
146
160
 
161
+ ios_18:
162
+ browserName: "iphone"
163
+ device: "iPhone 13"
164
+ os: "ios"
165
+ osVersion: "18"
166
+ realMobile: true
167
+
147
168
  android_4:
148
169
  browserName: "Android Browser"
149
170
  device: "Google Nexus 5"
@@ -25,8 +25,7 @@ module Maze
25
25
  next unless event.test_case.eql?(test_case) && event.result.failed?
26
26
 
27
27
  Bugsnag.notify(event.result.exception) do |bsg_event|
28
-
29
- bsg_event.api_key = ENV['MAZE_SCENARIO_BUGSNAG_API_KEY']
28
+ bsg_event.api_key = ENV['MAZE_SCENARIO_BUGSNAG_API_KEY'] unless selenium_report?(event.result.exception)
30
29
 
31
30
  unless @last_test_step.nil?
32
31
 
@@ -54,6 +53,10 @@ module Maze
54
53
 
55
54
  super
56
55
  end
56
+
57
+ def selenium_report?(exception)
58
+ exception.class.to_s.include?('Selenium')
59
+ end
57
60
  end
58
61
  end
59
62
  end
data/lib/maze.rb CHANGED
@@ -7,7 +7,8 @@ require_relative 'maze/timers'
7
7
  # Glues the various parts of MazeRunner together that need to be accessed globally,
8
8
  # providing an alternative to the proliferation of global variables or singletons.
9
9
  module Maze
10
- VERSION = '9.19.1'
10
+
11
+ VERSION = '9.21.0'
11
12
 
12
13
  class << self
13
14
  attr_accessor :check, :driver, :internal_hooks, :mode, :start_time, :dynamic_retry, :public_address,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag-maze-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.19.1
4
+ version: 9.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Kirkland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-19 00:00:00.000000000 Z
11
+ date: 2024-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber