percy-appium-app 0.0.7 → 1.0.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: 8894474b866e7988f60b776f782f3c04887b4aa626cf2a384f2c97d983a534fc
4
- data.tar.gz: 461ea9e2bf18840893f9b805ea93e8005874b4c9ddbcdf447d71e691051a015f
3
+ metadata.gz: bdb1ff6892c099d297d97844d8dd24985e6be0361e78da39e274d844945ea869
4
+ data.tar.gz: ba73fd618e623111852a73900165ae0a9315fe5a8ebb768ca4d3eb8d86928db5
5
5
  SHA512:
6
- metadata.gz: c91b292ad5b7a2ba6d04a64294d539caf6da3a9da7809663625a07f441563d242e00a37025ef2a96bdeafe3f604af7b286709676debeb18ca0834f22590e790c
7
- data.tar.gz: e670e5434e2d4ace31348e736134f6976d8fa2bc1548febe7b7d70faeab6f057b833fc1809c84cf1c3b7b5a21922f41d75df3134b4fc7d2167a9354775da8d86
6
+ metadata.gz: e94a5a62b0a3c82630b63ba011a423978c924bfd31c2ad4de7ea92c1f1a5ce532530a5fcbd2de72f8c89908c404ef353b1ac3c415abb3d3806e6f5eaac125875
7
+ data.tar.gz: 68fbb5b42c1df5e5b8d39f75debe939d7e76408ff8370e7998f04f60adec7fe37a875504e13b93b9876a39595b67195299d4f4a348407e4064770a5a20e6610d
@@ -11,7 +11,7 @@ assignees: ''
11
11
 
12
12
  There are common setup gotchas that happen with Percy's SDKs, it would be worth reading
13
13
  the debugging document, which might already answer your question:
14
- https://docs.percy.io/docs/debugging-sdk
14
+ https://www.browserstack.com/docs/percy/integrate/percy-sdk-workflow#debugging-sdks
15
15
 
16
16
  ## Reach out to Percy support instead?
17
17
 
@@ -43,7 +43,7 @@ If necessary, describe the problem you have been experiencing in more detail.
43
43
  ## Debug logs
44
44
 
45
45
  If you are reporting a bug, _always_ include logs! [Give the "Debugging SDKs"
46
- document a quick read for how to gather logs](https://docs.percy.io/docs/debugging-sdks#debugging-sdks)
46
+ document a quick read for how to gather logs](https://www.browserstack.com/docs/percy/integrate/percy-sdk-workflow#debugging-sdks)
47
47
 
48
48
  Please do not trim or edit these logs, often times there are hints in the full
49
49
  logs that help debug what is going on.
data/README.md CHANGED
@@ -181,7 +181,7 @@ $ percy exec -- [ruby test command]
181
181
  [percy] Done!
182
182
  ```
183
183
 
184
- Refer to docs here: [Percy on Automate](https://docs.percy.io/docs/integrate-functional-testing-with-visual-testing)
184
+ Refer to docs here: [Percy on Automate](https://www.browserstack.com/docs/percy/integrate/functional-and-visual)
185
185
 
186
186
  ### Migrating Config
187
187
 
@@ -48,6 +48,24 @@ module Percy
48
48
  'Argument orientation should be a String and portrait/landscape'
49
49
  end
50
50
 
51
+ test_case = kwargs[:test_case]
52
+ if test_case && !test_case.is_a?(String)
53
+ raise TypeError,
54
+ 'Argument test_case should be a String'
55
+ end
56
+
57
+ labels = kwargs[:labels]
58
+ if labels && !labels.is_a?(String)
59
+ raise TypeError,
60
+ 'Argument labels should be a String'
61
+ end
62
+
63
+ th_test_case_execution_id = kwargs[:th_test_case_execution_id]
64
+ if th_test_case_execution_id && !th_test_case_execution_id.is_a?(String)
65
+ raise TypeError,
66
+ 'Argument th_test_case_execution_id should be a String'
67
+ end
68
+
51
69
  @provider.screenshot(name, **kwargs)
52
70
  end
53
71
 
@@ -49,8 +49,9 @@ module Percy
49
49
  end
50
50
 
51
51
  def post_screenshots(name, tag, tiles, external_debug_url = nil, ignored_elements_data = nil,
52
- considered_elements_data = nil, sync = nil)
53
- body = request_body(name, tag, tiles, external_debug_url, ignored_elements_data, considered_elements_data, sync)
52
+ considered_elements_data = nil, sync = nil, test_case = nil, labels = nil, th_test_case_execution_id = nil)
53
+ body = request_body(name, tag, tiles, external_debug_url, ignored_elements_data,
54
+ considered_elements_data, sync, test_case, labels, th_test_case_execution_id)
54
55
  body['client_info'] = Percy::Environment.get_client_info
55
56
  body['environment_info'] = Percy::Environment.get_env_info
56
57
 
@@ -124,7 +125,8 @@ module Percy
124
125
  data
125
126
  end
126
127
 
127
- def request_body(name, tag, tiles, external_debug_url, ignored_elements_data, considered_elements_data, sync)
128
+ def request_body(name, tag, tiles, external_debug_url, ignored_elements_data, considered_elements_data, sync,
129
+ test_case, labels, th_test_case_execution_id)
128
130
  tiles = tiles.map(&:to_h)
129
131
  {
130
132
  'name' => name,
@@ -133,7 +135,10 @@ module Percy
133
135
  'ignored_elements_data' => ignored_elements_data,
134
136
  'external_debug_url' => external_debug_url,
135
137
  'considered_elements_data' => considered_elements_data,
136
- 'sync' => sync
138
+ 'sync' => sync,
139
+ 'test_case' => test_case,
140
+ 'labels' => labels,
141
+ 'th_test_case_execution_id' => th_test_case_execution_id
137
142
  }
138
143
  end
139
144
  end
@@ -43,8 +43,12 @@ module Percy
43
43
  )
44
44
  }
45
45
  sync = kwargs.fetch(:sync, nil)
46
+ test_case = kwargs.fetch(:test_case, nil)
47
+ labels = kwargs.fetch(:labels, nil)
48
+ th_test_case_execution_id = kwargs.fetch(:th_test_case_execution_id, nil)
46
49
 
47
- _post_screenshots(name, tag, tiles, get_debug_url, ignore_regions, consider_regions, sync)
50
+ _post_screenshots(name, tag, tiles, get_debug_url, ignore_regions, consider_regions,
51
+ sync, test_case, labels, th_test_case_execution_id)
48
52
  end
49
53
 
50
54
  def _get_tag(**kwargs)
@@ -81,7 +85,8 @@ module Percy
81
85
  header_height = 0
82
86
  footer_height = 0
83
87
  [
84
- Percy::Tile.new(status_bar_height, nav_bar_height, header_height, footer_height, filepath: path, fullscreen: fullscreen)
88
+ Percy::Tile.new(status_bar_height, nav_bar_height, header_height, footer_height, filepath: path,
89
+ fullscreen: fullscreen)
85
90
  ]
86
91
  end
87
92
 
@@ -94,8 +99,21 @@ module Percy
94
99
  elements_array
95
100
  end
96
101
 
97
- def _post_screenshots(name, tag, tiles, debug_url, ignored_regions, considered_regions, sync)
98
- Percy::CLIWrapper.new.post_screenshots(name, tag, tiles, debug_url, ignored_regions, considered_regions, sync)
102
+ def _post_screenshots(
103
+ name,
104
+ tag,
105
+ tiles,
106
+ debug_url,
107
+ ignored_regions,
108
+ considered_regions,
109
+ sync,
110
+ test_case,
111
+ labels,
112
+ th_test_case_execution_id
113
+ )
114
+ Percy::CLIWrapper.new.post_screenshots(
115
+ name, tag, tiles, debug_url, ignored_regions, considered_regions, sync, test_case, labels, th_test_case_execution_id
116
+ )
99
117
  end
100
118
 
101
119
  def _write_screenshot(png_bytes, directory)
data/percy/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Percy
4
- VERSION = '0.0.7'.freeze
4
+ VERSION = '1.0.0'.freeze
5
5
  end
data/specs/cli_wrapper.rb CHANGED
@@ -105,8 +105,11 @@ class TestCLIWrapper < Minitest::Test
105
105
  name = 'some-name'
106
106
  debug_url = 'debug-url'
107
107
  sync = false
108
+ test_case = 'test-case-1'
109
+ labels = 'app;testing'
110
+ th_test_case_execution_id = 'uuid-1231231'
108
111
  response = @cli_wrapper.request_body(name, tag, [tile], debug_url, @ignored_elements_data,
109
- @considered_elements_data, sync)
112
+ @considered_elements_data, sync, test_case, labels, th_test_case_execution_id)
110
113
  assert_equal response['name'], name
111
114
  assert_equal response['external_debug_url'], debug_url
112
115
  assert_equal response['tag'], tag
@@ -114,6 +117,9 @@ class TestCLIWrapper < Minitest::Test
114
117
  assert_equal response['ignored_elements_data'], @ignored_elements_data
115
118
  assert_equal response['considered_elements_data'], @considered_elements_data
116
119
  assert_equal response['sync'], sync
120
+ assert_equal response['test_case'], test_case
121
+ assert_equal response['labels'], labels
122
+ assert_equal response['th_test_case_execution_id'], th_test_case_execution_id
117
123
  end
118
124
 
119
125
  def test_request_body_when_optional_values_are_null
@@ -125,13 +131,16 @@ class TestCLIWrapper < Minitest::Test
125
131
  considered_elements_data = nil
126
132
  sync = nil
127
133
  response = @cli_wrapper.send(:request_body, name, tag, [tile], debug_url, ignored_elements_data,
128
- considered_elements_data, sync)
134
+ considered_elements_data, sync, nil, nil, nil)
129
135
  assert_equal response['name'], name
130
- assert_equal response['external_debug_url'], debug_url
136
+ assert_nil response['external_debug_url']
131
137
  assert_equal response['tag'], tag
132
138
  assert_equal response['tiles'], [tile.to_h]
133
139
  assert_nil response['ignored_elements_data']
134
140
  assert_nil response['considered_elements_data']
135
141
  assert_nil response['sync']
142
+ assert_nil response['test_case']
143
+ assert_nil response['labels']
144
+ assert_nil response['th_test_case_execution_id']
136
145
  end
137
146
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: percy-appium-app
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BroswerStack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-29 00:00:00.000000000 Z
11
+ date: 2024-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib
@@ -202,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
202
  - !ruby/object:Gem::Version
203
203
  version: '0'
204
204
  requirements: []
205
- rubygems_version: 3.1.6
205
+ rubygems_version: 3.1.4
206
206
  signing_key:
207
207
  specification_version: 4
208
208
  summary: Percy visual testing for Ruby Appium Mobile Apps