Ifd_Mobile 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/Ifd_Mobile/lib_web.rb +39 -4
- data/lib/Ifd_Mobile/methods/core.rb +96 -0
- data/lib/Ifd_Mobile/version.rb +1 -1
- data/project/Gemfile +3 -0
- data/project/features/iOS/iOS_test.feature +8 -6
- data/project/features/support/hooks.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 949a421da04ff5b53b4dd75c27563dbd8da92348
|
4
|
+
data.tar.gz: 328188e946f8b32c2bd3ece2206381dc80e7123a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 08833b006525152c84d0f8ff23f81f6b45ba687bc583ca0d9b5836d3250cd9f28aedd435b2cc9bdbfa8ee4784e51cdb80682a93035cf4981d3b52f5ffc362dc6
|
7
|
+
data.tar.gz: 86e89630fdad43a08d843186381cf8cfb04b55a3f3aa3759d1a813e4181c536981c2ac21a134b8be73a863bf53f94ff67d7f91ec2e236ea0c6e3b065591c2759
|
data/lib/Ifd_Mobile/lib_web.rb
CHANGED
@@ -64,8 +64,43 @@ And /^I delete an character$/ do
|
|
64
64
|
system('adb shell input keyevent 67')
|
65
65
|
end
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
67
|
+
Then(/^I tap on back button of device$/) do
|
68
|
+
navigate('back')
|
69
|
+
end
|
70
|
+
|
71
|
+
Then(/^I tap on forward button of device$/) do
|
72
|
+
navigate('forward')
|
73
|
+
end
|
74
|
+
|
75
|
+
#---------- Swipe with direction
|
76
|
+
Then(/^I swipe left$/) do
|
77
|
+
swipe_direction("left")
|
78
|
+
end
|
79
|
+
|
80
|
+
Then(/^I swipe right$/) do
|
81
|
+
swipe_direction("right")
|
82
|
+
end
|
83
|
+
|
84
|
+
Then(/^I swipe up$/) do
|
85
|
+
swipe_direction("up")
|
86
|
+
end
|
87
|
+
|
88
|
+
Then(/^I swipe down$/) do
|
89
|
+
swipe_direction("down")
|
90
|
+
end
|
91
|
+
|
92
|
+
Then(/^I long tap on element having "(.*?)"$/) do |element|
|
93
|
+
long_press_on_element_default_duration(element)
|
94
|
+
end
|
95
|
+
|
96
|
+
Then(/^I long tap on element having (.+) "(.*?)" for "(.*?)" sec$/) do |element, duration|
|
97
|
+
long_press_on_element_with_duration(element, duration)
|
98
|
+
end
|
99
|
+
|
100
|
+
Then(/^I long tap on co\-ordinate "(.*?)","(.*?)"$/) do |x, y|
|
101
|
+
long_press_on_coordinates(x, y)
|
102
|
+
end
|
103
|
+
|
104
|
+
Then(/^I long tap on co\-ordinate "(.*?)","(.*?)" for "(.*?)" sec$/) do |x, y, duration|
|
105
|
+
long_press_on_coordinates_with_duration(x, y, duration)
|
71
106
|
end
|
@@ -134,3 +134,99 @@ end
|
|
134
134
|
def click_by_coordinate x, y
|
135
135
|
selenium.execute_script 'mobile: tap', :x => x, :y => y
|
136
136
|
end
|
137
|
+
|
138
|
+
# method to navigate back & forward
|
139
|
+
def navigate(direction)
|
140
|
+
if direction == 'back'
|
141
|
+
selenium.navigate.back
|
142
|
+
else
|
143
|
+
selenium.navigate.forward
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
def swipe_direction(direction)
|
148
|
+
size = selenium.manage.window.size
|
149
|
+
height = size.height.to_i - 10
|
150
|
+
width = size.width.to_i - 10
|
151
|
+
|
152
|
+
if direction == 'right'
|
153
|
+
start_x = (width/100) * 15 # 83
|
154
|
+
start_y = height/2 # 695
|
155
|
+
end_x = (width/100) * 90 # 900
|
156
|
+
end_y = height/2 # 630
|
157
|
+
elsif direction == 'left'
|
158
|
+
start_x = (width/100) * 90
|
159
|
+
start_y = height/2
|
160
|
+
end_x = (width/100) * 15
|
161
|
+
end_y = height/2
|
162
|
+
elsif direction == 'up'
|
163
|
+
start_x = width/2
|
164
|
+
start_y = (height/100) * 90
|
165
|
+
end_x = width/2
|
166
|
+
end_y = (height/100) * 15
|
167
|
+
elsif direction == 'down'
|
168
|
+
start_x = width/2
|
169
|
+
start_y = (height/100) * 15
|
170
|
+
end_x = width/2
|
171
|
+
end_y = (height/100) * 90
|
172
|
+
else
|
173
|
+
raise "invalid direction"
|
174
|
+
end
|
175
|
+
|
176
|
+
swipe(start_x, start_y, end_x, end_y)
|
177
|
+
end
|
178
|
+
|
179
|
+
def swipe(start_x, start_y, end_x, end_y)
|
180
|
+
action = Appium::TouchAction.new.press(x: "#{start_x}", y: "#{start_y}").wait(1000).move_to(x: "#{end_x}", y: "#{end_y}").release()
|
181
|
+
action.perform
|
182
|
+
end
|
183
|
+
|
184
|
+
|
185
|
+
def long_press_on_element_default_duration(element)
|
186
|
+
begin
|
187
|
+
ele_from = find_object element.location
|
188
|
+
x = ele_from.x
|
189
|
+
y = ele_from.y
|
190
|
+
|
191
|
+
action = Appium::TouchAction.new.press(x: "#{x}", y: "#{y}").wait(2000).move_to(x: "#{x}", y: "#{y}").release()
|
192
|
+
action.perform
|
193
|
+
rescue Exception => e
|
194
|
+
if e.to_s == 'The swipe did not complete successfully'
|
195
|
+
print ""
|
196
|
+
else
|
197
|
+
raise e
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def long_press_on_element_with_duration(element, duration)
|
203
|
+
begin
|
204
|
+
ele_from = find_object element.location
|
205
|
+
x = ele_from.x
|
206
|
+
y = ele_from.y
|
207
|
+
|
208
|
+
duration = duration.to_i
|
209
|
+
duration = duration * 1000
|
210
|
+
action = Appium::TouchAction.new.press(x: "#{x}", y: "#{y}").wait("#{duration}").move_to(x: "#{x}", y: "#{y}").release()
|
211
|
+
action.perform
|
212
|
+
rescue Exception => e
|
213
|
+
if e.to_s == 'The swipe did not complete successfully'
|
214
|
+
print ""
|
215
|
+
else
|
216
|
+
raise e
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
def long_press_on_coordinates(x, y)
|
222
|
+
action = Appium::TouchAction.new.press(x: "#{x}", y: "#{y}").wait(2000).move_to(x: "#{x}", y: "#{y}").release()
|
223
|
+
action.perform
|
224
|
+
end
|
225
|
+
|
226
|
+
def long_press_on_coordinates_with_duration(x, y, duration)
|
227
|
+
duration = duration.to_i
|
228
|
+
duration = duration * 1000
|
229
|
+
puts duration
|
230
|
+
action = Appium::TouchAction.new.press(x: "#{x}", y: "#{y}").wait("#{duration}").move_to(x: "#{x}", y: "#{y}").release()
|
231
|
+
action.perform
|
232
|
+
end
|
data/lib/Ifd_Mobile/version.rb
CHANGED
data/project/Gemfile
CHANGED
@@ -7,9 +7,11 @@ Feature: Demo
|
|
7
7
|
Scenario: Navigate
|
8
8
|
Given I have App running with appium
|
9
9
|
When I input text "4" on "textbox1"
|
10
|
-
And I input text "4" on "textbox2"
|
11
|
-
And I click on "button_sum"
|
12
|
-
Then I verify property "result" with "value" has value "8"
|
13
|
-
When I click on "show_alert"
|
14
|
-
Then I verify property "alert title" with "name" has value "Cool title"
|
15
|
-
And I accept alert
|
10
|
+
# And I input text "4" on "textbox2"
|
11
|
+
# And I click on "button_sum"
|
12
|
+
# Then I verify property "result" with "value" has value "8"
|
13
|
+
# When I click on "show_alert"
|
14
|
+
# Then I verify property "alert title" with "name" has value "Cool title"
|
15
|
+
# And I accept alert
|
16
|
+
* I rotate device to landscape
|
17
|
+
* I rotate device to portrait
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Ifd_Mobile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anh Pham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|