@@ -16,7 +16,7 @@ def teardown
16
16
end
17
17
18
18
def test_image_element
19
- skip 'Requres `npm install -g appium opencv4nodejs`' unless `npm list -g opencv4nodejs` . include? 'opencv4nodejs'
19
+ skip 'Requires `npm install -g appium opencv4nodejs`' unless `npm list -g opencv4nodejs` . include? 'opencv4nodejs'
20
20
21
21
@@driver . update_settings ( { fixImageTemplateScale : true } )
22
22
@@ -54,7 +54,7 @@ def test_image_element
54
54
end
55
55
56
56
def test_image_elements
57
- skip 'Requres `npm install -g appium opencv4nodejs`' unless `npm list -g opencv4nodejs` . include? 'opencv4nodejs'
57
+ skip 'Requires `npm install -g appium opencv4nodejs`' unless `npm list -g opencv4nodejs` . include? 'opencv4nodejs'
58
58
59
59
@@driver . update_settings ( { fixImageTemplateScale : true } )
60
60
@@ -92,6 +92,45 @@ def test_image_elements
92
92
@@driver . back
93
93
end
94
94
95
+ def test_template_scale_ratio
96
+ skip 'Requires `npm install -g appium opencv4nodejs`' unless `npm list -g opencv4nodejs` . include? 'opencv4nodejs'
97
+
98
+ el = @@driver . find_element :accessibility_id , 'Buttons'
99
+ @@driver . save_element_screenshot el , 'test/functional/data/test_ios_button.png'
100
+
101
+ @@driver . update_settings ( { fixImageTemplateScale : true , defaultImageTemplateScale : 4 } )
102
+
103
+ image_element = @@driver . find_element_by_image (
104
+ AppiumLibCoreTest . path_of ( 'test/functional/data/test_button_image_ios_4.png' )
105
+ )
106
+ assert image_element . inspect
107
+ assert image_element . hash
108
+ assert image_element . ref =~ /\A appium-image-element-[a-z0-9\- ]+/
109
+
110
+ el_location = el . location
111
+ image_location = image_element . location
112
+ assert_in_delta el_location . x , image_location . x , 10
113
+ assert_in_delta el_location . y , image_location . y , 2
114
+
115
+ el_size = el . size
116
+ image_size = image_element . size
117
+ assert_in_delta el_size . width , image_size . width , 15
118
+ assert_in_delta el_size . height , image_size . height , 2
119
+
120
+ el_rect = el . rect
121
+ image_rect = image_element . rect
122
+ assert_in_delta el_rect . x , image_rect . x , 10
123
+ assert_in_delta el_rect . y , image_rect . y , 2
124
+ assert_in_delta el_rect . width , image_rect . width , 15
125
+ assert_in_delta el_rect . height , image_rect . height , 2
126
+
127
+ assert_equal el . displayed? , image_element . displayed?
128
+ image_element . click
129
+
130
+ assert @@driver . find_element :accessibility_id , 'Gray'
131
+ @@driver . back
132
+ end
133
+
95
134
def test_window_size
96
135
size = @@driver . window_size
97
136
assert size . width
0 commit comments