percy-appium-app 0.0.9.beta1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +1 -1
- data/.github/workflows/test.yml +1 -1
- data/percy/metadata/android_metadata.rb +2 -7
- data/percy/metadata/metadata_resolver.rb +1 -2
- data/percy/version.rb +1 -1
- data/specs/android_metadata.rb +0 -20
- data/specs/metadata_resolver.rb +0 -45
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bdb1ff6892c099d297d97844d8dd24985e6be0361e78da39e274d844945ea869
|
4
|
+
data.tar.gz: ba73fd618e623111852a73900165ae0a9315fe5a8ebb768ca4d3eb8d86928db5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e94a5a62b0a3c82630b63ba011a423978c924bfd31c2ad4de7ea92c1f1a5ce532530a5fcbd2de72f8c89908c404ef353b1ac3c415abb3d3806e6f5eaac125875
|
7
|
+
data.tar.gz: 68fbb5b42c1df5e5b8d39f75debe939d7e76408ff8370e7998f04f60adec7fe37a875504e13b93b9876a39595b67195299d4f4a348407e4064770a5a20e6610d
|
data/.github/workflows/test.yml
CHANGED
@@ -15,13 +15,8 @@ module Percy
|
|
15
15
|
def device_screen_size
|
16
16
|
caps = capabilities
|
17
17
|
caps = caps.as_json unless caps.is_a?(Hash)
|
18
|
-
|
19
|
-
|
20
|
-
{ width: size.width.to_i, height: size.height.to_i }
|
21
|
-
else
|
22
|
-
width, height = caps['deviceScreenSize'].split('x')
|
23
|
-
{ width: width.to_i, height: height.to_i }
|
24
|
-
end
|
18
|
+
width, height = caps['deviceScreenSize'].split('x')
|
19
|
+
{ 'width' => width.to_i, 'height' => height.to_i }
|
25
20
|
end
|
26
21
|
|
27
22
|
def get_system_bars
|
@@ -9,8 +9,7 @@ module Percy
|
|
9
9
|
def self.resolve(driver)
|
10
10
|
capabilities = driver.capabilities
|
11
11
|
capabilities = capabilities.as_json unless capabilities.is_a?(Hash)
|
12
|
-
|
13
|
-
platform_name = capabilities[key]&.downcase
|
12
|
+
platform_name = capabilities.fetch('platformName', '').downcase
|
14
13
|
case platform_name
|
15
14
|
when 'android'
|
16
15
|
Percy::AndroidMetadata.new(driver)
|
data/percy/version.rb
CHANGED
data/specs/android_metadata.rb
CHANGED
@@ -29,27 +29,7 @@ class TestAndroidMetadata < Minitest::Test
|
|
29
29
|
@mock_webdriver.expect(:capabilities, android_capabilities.merge('viewportRect' => viewport))
|
30
30
|
|
31
31
|
assert(viewport, @android_metadata.viewport)
|
32
|
-
@mock_webdriver.verify
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_device_screen_size_when_device_screen_size_is_nil
|
36
|
-
# Mock capabilities to return a hash without 'deviceScreenSize'
|
37
|
-
android_capabilities = get_android_capabilities
|
38
|
-
android_capabilities.delete('deviceScreenSize')
|
39
|
-
@mock_webdriver.expect(:capabilities, android_capabilities)
|
40
|
-
|
41
|
-
# Mock driver.window_size to return a double with width and height
|
42
|
-
mock_window_size = Minitest::Mock.new
|
43
|
-
mock_window_size.expect(:width, 1080)
|
44
|
-
mock_window_size.expect(:height, 1920)
|
45
|
-
@mock_webdriver.expect(:window_size, mock_window_size)
|
46
|
-
|
47
|
-
# Call the method and assert the result
|
48
|
-
result = @android_metadata.device_screen_size
|
49
|
-
assert_equal({ width: 1080, height: 1920 }, result)
|
50
32
|
|
51
|
-
# Verify mocks
|
52
|
-
mock_window_size.verify
|
53
33
|
@mock_webdriver.verify
|
54
34
|
end
|
55
35
|
|
data/specs/metadata_resolver.rb
CHANGED
@@ -20,24 +20,6 @@ class MetadataResolverTestCase < Minitest::Test
|
|
20
20
|
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
21
21
|
@mock_webdriver.verify
|
22
22
|
end
|
23
|
-
|
24
|
-
def test_android_resolved_with_PLATFORM_NAME
|
25
|
-
@mock_webdriver.expect(:capabilities, { 'PLATFORM_NAME' => 'Android' })
|
26
|
-
@mock_webdriver.expect(:capabilities, { 'PLATFORM_NAME' => 'Android' })
|
27
|
-
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
28
|
-
|
29
|
-
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
30
|
-
@mock_webdriver.verify
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_android_resolved_with_platform_name
|
34
|
-
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'Android' })
|
35
|
-
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'Android' })
|
36
|
-
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
37
|
-
|
38
|
-
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
39
|
-
@mock_webdriver.verify
|
40
|
-
end
|
41
23
|
|
42
24
|
def test_ios_resolved
|
43
25
|
@mock_webdriver.expect(:capabilities, { 'platformName' => 'iOS' })
|
@@ -47,23 +29,6 @@ class MetadataResolverTestCase < Minitest::Test
|
|
47
29
|
@mock_webdriver.verify
|
48
30
|
end
|
49
31
|
|
50
|
-
def test_ios_resolved_with_platform_name
|
51
|
-
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'iOS' })
|
52
|
-
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
53
|
-
|
54
|
-
assert_instance_of(Percy::IOSMetadata, resolved_metadata)
|
55
|
-
@mock_webdriver.verify
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_platformName_precedence_over_platform_name
|
59
|
-
@mock_webdriver.expect(:capabilities, { 'platformName' => 'Android', 'platform_name' => 'iOS' })
|
60
|
-
@mock_webdriver.expect(:capabilities, { 'platformName' => 'Android', 'platform_name' => 'iOS' })
|
61
|
-
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
62
|
-
|
63
|
-
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
64
|
-
@mock_webdriver.verify
|
65
|
-
end
|
66
|
-
|
67
32
|
def test_unknown_platform_exception
|
68
33
|
@mock_webdriver.expect(:capabilities, { 'platformName' => 'Something Random' })
|
69
34
|
|
@@ -73,14 +38,4 @@ class MetadataResolverTestCase < Minitest::Test
|
|
73
38
|
|
74
39
|
@mock_webdriver.verify
|
75
40
|
end
|
76
|
-
|
77
|
-
def test_unknown_platform_exception_with_platform_name
|
78
|
-
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'Something Random' })
|
79
|
-
|
80
|
-
assert_raises(PlatformNotSupported) do
|
81
|
-
Percy::MetadataResolver.resolve(@mock_webdriver)
|
82
|
-
end
|
83
|
-
|
84
|
-
@mock_webdriver.verify
|
85
|
-
end
|
86
41
|
end
|
metadata
CHANGED
@@ -1,13 +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
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BroswerStack
|
8
|
+
autorequire:
|
8
9
|
bindir: bin
|
9
10
|
cert_chain: []
|
10
|
-
date:
|
11
|
+
date: 2024-10-28 00:00:00.000000000 Z
|
11
12
|
dependencies:
|
12
13
|
- !ruby/object:Gem::Dependency
|
13
14
|
name: appium_lib
|
@@ -186,6 +187,7 @@ licenses:
|
|
186
187
|
metadata:
|
187
188
|
bug_tracker_uri: https://github.com/percy/percy-appium-ruby/issues
|
188
189
|
source_code_uri: https://github.com/percy/percy-appium-ruby
|
190
|
+
post_install_message:
|
189
191
|
rdoc_options: []
|
190
192
|
require_paths:
|
191
193
|
- percy
|
@@ -200,7 +202,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
202
|
- !ruby/object:Gem::Version
|
201
203
|
version: '0'
|
202
204
|
requirements: []
|
203
|
-
rubygems_version: 3.
|
205
|
+
rubygems_version: 3.1.4
|
206
|
+
signing_key:
|
204
207
|
specification_version: 4
|
205
208
|
summary: Percy visual testing for Ruby Appium Mobile Apps
|
206
209
|
test_files: []
|