briar 0.1.0 → 0.1.1
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 +8 -8
- data/briar.gemspec +0 -5
- data/features/step_definitions/alerts_and_sheets/action_sheet_steps.rb +2 -2
- data/features/step_definitions/bars/tabbar_steps.rb +1 -1
- data/features/step_definitions/control/segmented_control_steps.rb +28 -21
- data/features/step_definitions/email_steps.rb +19 -18
- data/features/step_definitions/keyboard_steps.rb +6 -4
- data/features/step_definitions/table_steps.rb +1 -1
- data/lib/briar.rb +14 -3
- data/lib/briar/alerts_and_sheets/action_sheet.rb +4 -4
- data/lib/briar/alerts_and_sheets/alert_view.rb +4 -4
- data/lib/briar/bars/navbar.rb +14 -18
- data/lib/briar/bars/tabbar.rb +2 -6
- data/lib/briar/briar_core.rb +10 -10
- data/lib/briar/control/button.rb +4 -4
- data/lib/briar/control/segmented_control.rb +26 -39
- data/lib/briar/email.rb +17 -10
- data/lib/briar/keyboard.rb +54 -65
- data/lib/briar/label.rb +2 -2
- data/lib/briar/picker/date_picker.rb +1 -1
- data/lib/briar/picker/date_picker_manipulation.rb +3 -3
- data/lib/briar/table.rb +4 -17
- data/lib/briar/text_view.rb +4 -4
- data/lib/briar/version.rb +1 -1
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzIwYTIwOTk1NzRkOGIwYjljZTZiZWM4YTY4YTg3ZjNiNmUxZjNmMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzBjM2M5M2RmMDlmZWQwNDFiYWJhZTk1MWJkNjk5NDU3NjY5ZmE5Zg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTFmOWY1M2JkODY1YmRhMjEzYjBkMWU5N2ZiNzFkNDE3OWM1OGE4NTljM2Zj
|
10
|
+
MDQwNzNhYjJiNzMzMDg2YmIxYTE1OGVmMGMwODc3Y2NkZWJkY2UwZjE3ZGM4
|
11
|
+
MzQxMGJmZjMyYTUwZjEwNTgzNjYzZDRlMDg1YWJlZDI4YWUzNzE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MTBhYjhmYTAyZTQxM2IxMmUwNmUzOTVlMzQ2ZmJjYmY0NjhlMzk4NmNhNjBl
|
14
|
+
NjM4M2RlNzc0ZTRhNTgyM2Y4YTIwZGFjODBmYTM1MWFjMzQ0YzNlNjMzOGIw
|
15
|
+
MjllNjgxMjExZTM3NDc2ZDEwYTk3ZWZhNDJhN2Y4NTBhOGRkYTY=
|
data/briar.gemspec
CHANGED
@@ -15,13 +15,8 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.license = 'MIT'
|
16
16
|
|
17
17
|
gem.add_runtime_dependency 'calabash-cucumber'
|
18
|
-
#gem.add_runtime_dependency 'calabash-cucumber', '0.9.159'
|
19
18
|
gem.add_runtime_dependency 'rake'
|
20
19
|
gem.add_runtime_dependency 'syntax'
|
21
|
-
gem.add_runtime_dependency 'rspec'
|
22
|
-
|
23
|
-
# rubymine is not picking up development dependencies in the gemspec
|
24
|
-
#gem.add_development_dependency 'rspec'
|
25
20
|
|
26
21
|
gem.files = `git ls-files`.split($/)
|
27
22
|
gem.executables = 'briar'
|
@@ -2,8 +2,8 @@ Then /^I touch the "([^"]*)" button on the action sheet$/ do |button_title|
|
|
2
2
|
timeout = 1.0
|
3
3
|
msg = "waited for '#{timeout}' seconds but did not see sheet with button '#{button_title}'"
|
4
4
|
options = {:timeout => timeout,
|
5
|
-
:retry_frequency =>
|
6
|
-
:post_timeout =>
|
5
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
6
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
7
7
|
:timeout_message => msg}
|
8
8
|
wait_for(options) do
|
9
9
|
not query('actionSheet').empty?
|
@@ -27,7 +27,7 @@ When /^I touch the "([^"]*)" tab I should see the "([^"]*)" view$/ do |tab_label
|
|
27
27
|
end
|
28
28
|
|
29
29
|
Then /^I should see "([^"]*)" tabs$/ do |list_of_tabs|
|
30
|
-
tabs = list_of_tabs
|
30
|
+
tabs = tokenize_list(list_of_tabs)
|
31
31
|
index = 0
|
32
32
|
tabs.each do |tab|
|
33
33
|
should_see_tab_at_index tab.strip! || tab, index
|
@@ -3,45 +3,52 @@ Then /^I should see segmented control "([^"]*)" with titles "([^"]*)"$/ do |cont
|
|
3
3
|
should_see_control_with_segment_titles control_id, titles
|
4
4
|
end
|
5
5
|
|
6
|
-
Then /^I touch
|
6
|
+
Then /^I touch the "([^"]*)" segment in segmented control "([^"]*)"$/ do |segment_id, control_id|
|
7
7
|
touch_segment segment_id, control_id
|
8
8
|
end
|
9
9
|
|
10
|
-
|
11
10
|
Then /^I should see segment "([^"]*)" in segmented control "([^"]*)" (is|is not) selected$/ do |segment_id, control_id, selectedness|
|
12
11
|
should_see_segment_with_selected_state control_id, segment_id, selectedness.eql?('is') ? 1 : 0
|
13
12
|
end
|
14
13
|
|
14
|
+
|
15
|
+
### deprecated - will remove in future versions ####
|
16
|
+
|
15
17
|
Then /^I should see the segment I touched (is|is not) selected and the "([^"]*)" should be set correctly$/ do |selectedness, label_id|
|
16
|
-
|
17
|
-
|
18
|
-
#
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
pending('deprecated 0.1.1 - no replacement')
|
19
|
+
#@associated_label = label_id
|
20
|
+
#should_see_segment_with_selected_state @control_id, @segment_id, selectedness.eql?('is') ? 1 : 0
|
21
|
+
## unexpected!
|
22
|
+
## this is a label outside the control that is set by touching the segment
|
23
|
+
## not so good because it conflates segment_id and the title of the segment
|
24
|
+
#should_see_label_with_text label_id, @segment_id
|
22
25
|
end
|
23
26
|
|
24
27
|
Then /^I touch the segment again$/ do
|
25
|
-
|
28
|
+
pending('deprecated 0.1.1 - no replacement')
|
29
|
+
#touch_segment @segment_id, @control_id
|
26
30
|
end
|
27
31
|
|
28
32
|
Then /^I should see the segment is not selected and the detail label is cleared$/ do
|
29
|
-
|
30
|
-
|
31
|
-
macro %Q|I should see
|
33
|
+
pending('deprecated 0.1.1 - no replacement')
|
34
|
+
## ugh - that @associated_label variable needs to be set
|
35
|
+
#macro %Q|I should see segment "#{@segment_id}" in segmented control "#{@control_id}" is not selected|
|
36
|
+
#macro %Q|I should see label "#{@associated_label}" with text ""|
|
32
37
|
end
|
33
38
|
|
34
39
|
Then /^I should see the segment I touched (is|is not) selected and the "([^"]*)" in the "([^"]*)" row should be set correctly$/ do |selectedness, label_id, row_id|
|
35
|
-
|
36
|
-
@associated_label
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
+
pending('deprecated 0.1.1 - no replacement')
|
41
|
+
## ugh - that @associated_label variable needs to be set
|
42
|
+
#@associated_label = label_id
|
43
|
+
#@associated_row = row_id
|
44
|
+
#macro %Q|I should see segment "#{@segment_id}" in segmented control "#{@control_id}" #{selectedness} selected|
|
45
|
+
#should_see_row_with_label_with_text @associated_row, @associated_label, "#{@segment_id}"
|
40
46
|
end
|
41
47
|
|
42
48
|
Then /^I should see the segment is not selected and the label in the row is cleared$/ do
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
49
|
+
pending('deprecated 0.1.1 - no replacement')
|
50
|
+
## ugh - difficult to extract to a function because we need the
|
51
|
+
## @associated_row and @associated_label to be set
|
52
|
+
#macro %Q|I should see segment "#{@segment_id}" in segmented control "#{@control_id}" is not selected|
|
53
|
+
#should_see_row_with_label_with_text @associated_row, @associated_label, ""
|
47
54
|
end
|
@@ -8,7 +8,7 @@ Then /^I should see email view with body that contains "([^"]*)"$/ do |text|
|
|
8
8
|
if not device.ios5?
|
9
9
|
warn_about_no_ios5_email_view
|
10
10
|
else
|
11
|
-
|
11
|
+
2.times { step_pause }
|
12
12
|
unless email_body_contains? text
|
13
13
|
screenshot_and_raise "expected to see email body containing '#{text} but found '#{email_body}'"
|
14
14
|
end
|
@@ -16,20 +16,18 @@ Then /^I should see email view with body that contains "([^"]*)"$/ do |text|
|
|
16
16
|
end
|
17
17
|
|
18
18
|
Then /^I touch the "([^"]*)" row and wait to see the email view$/ do |row_id|
|
19
|
+
if email_not_testable?
|
20
|
+
warn_about_no_ios5_email_view
|
21
|
+
return
|
22
|
+
end
|
23
|
+
|
19
24
|
if device_can_send_email
|
20
|
-
# cannot do the usual - touch_row_and_wait_to_see because sometimes
|
21
|
-
# we will not see because in iOS 6, email compose views cannot be queried
|
22
|
-
# by calabash
|
23
25
|
should_see_row row_id
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
warn_about_no_ios5_email_view
|
28
|
-
else
|
29
|
-
should_see_mail_view
|
30
|
-
end
|
26
|
+
briar_scroll_to_row_and_touch row_id
|
27
|
+
2.times { step_pause }
|
28
|
+
should_see_mail_view
|
31
29
|
else
|
32
|
-
pending 'device is not configured for email so a system alert is probably generated
|
30
|
+
pending 'device is not configured for email so a system alert is probably generated'
|
33
31
|
end
|
34
32
|
end
|
35
33
|
|
@@ -63,7 +61,7 @@ Then /^I should see email view with text like "([^"]*)" in the subject$/ do |tex
|
|
63
61
|
warn_about_no_ios5_email_view
|
64
62
|
else
|
65
63
|
should_see_mail_view
|
66
|
-
|
64
|
+
2.times { step_pause }
|
67
65
|
unless email_subject_has_text_like? text
|
68
66
|
screenshot_and_raise "expected to see '#{text}' in the email subject but found '#{email_subject}'"
|
69
67
|
end
|
@@ -71,11 +69,7 @@ Then /^I should see email view with text like "([^"]*)" in the subject$/ do |tex
|
|
71
69
|
end
|
72
70
|
|
73
71
|
When /^I cancel email editing I should see the "([^"]*)" view$/ do |view_id|
|
74
|
-
|
75
|
-
delete_draft_and_wait_for view_id
|
76
|
-
else
|
77
|
-
warn_about_no_ios5_email_view
|
78
|
-
end
|
72
|
+
delete_draft_and_wait_for view_id
|
79
73
|
end
|
80
74
|
|
81
75
|
Given(/^we are testing on the simulator or a device configured to send emails$/) do
|
@@ -88,3 +82,10 @@ Given(/^we are testing on the simulator or a device configured to send emails$/)
|
|
88
82
|
pending 'device is not configured to send email - we cannot proceed with email view testing'
|
89
83
|
end
|
90
84
|
end
|
85
|
+
|
86
|
+
Given(/^I can test an email view$/) do
|
87
|
+
if (not device.ios5?) and (not uia_available?)
|
88
|
+
warn_about_no_ios5_email_view
|
89
|
+
pending('cannot test email views yet')
|
90
|
+
end
|
91
|
+
end
|
@@ -18,15 +18,17 @@ When /^I touch the done button the keyboard disappears$/ do
|
|
18
18
|
should_not_see_keyboard
|
19
19
|
end
|
20
20
|
|
21
|
+
|
21
22
|
Then /^I touch the delete key$/ do
|
22
23
|
keyboard_enter_char 'Delete'
|
23
24
|
end
|
24
25
|
|
25
26
|
Then(/^I turn off spell checking and capitalization$/) do
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
pending('deprecated 0.1.1 - not working')
|
28
|
+
#should_see_keyboard
|
29
|
+
#turn_autocapitalization_off
|
30
|
+
#turn_autocorrect_off
|
31
|
+
#turn_spell_correct_off
|
30
32
|
end
|
31
33
|
|
32
34
|
Then /^I am done text editing$/ do
|
@@ -77,7 +77,7 @@ Then /^I should see "([^"]*)" in row (\d+)$/ do |row_id, row_index|
|
|
77
77
|
end
|
78
78
|
|
79
79
|
Then /^I should see the rows in this order "([^"]*)"$/ do |row_ids|
|
80
|
-
tokens = row_ids
|
80
|
+
tokens = tokenize_list(row_ids)
|
81
81
|
counter = 0
|
82
82
|
tokens.each do |token|
|
83
83
|
token.strip!
|
data/lib/briar.rb
CHANGED
@@ -1,11 +1,19 @@
|
|
1
1
|
#$:.unshift File.dirname(__FILE__)
|
2
2
|
|
3
3
|
DEVICE_ENDPOINT = (ENV['DEVICE_ENDPOINT'] || 'http://localhost:37265')
|
4
|
+
|
5
|
+
# deprecate these #
|
4
6
|
TOUCH_TRANSITION_TIMEOUT = 30.0
|
5
7
|
TOUCH_TRANSITION_RETRY_FREQ = 0.5
|
8
|
+
##################
|
9
|
+
|
6
10
|
BRIAR_STEP_PAUSE = (ENV['STEP_PAUSE'] || 0.5).to_f
|
7
11
|
BRIAR_WAIT_TIMEOUT = (ENV['WAIT_TIMEOUT'] || 2.0).to_f
|
12
|
+
BRIAR_RETRY_FREQ = (ENV['RETRY_FREQ'] || 0.1).to_f
|
13
|
+
BRIAR_POST_TIMEOUT = (ENV['POST_TIMEOUT'] || 0.2).to_f
|
14
|
+
|
8
15
|
ANIMATION_PAUSE = (ENV['ANIMATION_PAUSE'] || 0.6).to_f
|
16
|
+
|
9
17
|
#noinspection RubyConstantNamingConvention
|
10
18
|
AI = :accessibilityIdentifier
|
11
19
|
#noinspection RubyConstantNamingConvention
|
@@ -64,9 +72,12 @@ def device ()
|
|
64
72
|
end
|
65
73
|
|
66
74
|
def uia_available?
|
67
|
-
|
68
|
-
|
69
|
-
|
75
|
+
# proxy for testing if run_loop exists
|
76
|
+
if default_device.nil?
|
77
|
+
false
|
78
|
+
else
|
79
|
+
true
|
80
|
+
end
|
70
81
|
end
|
71
82
|
|
72
83
|
#noinspection RubyDefParenthesesInspection
|
@@ -36,8 +36,8 @@ module Briar
|
|
36
36
|
def wait_for_sheet (sheet_id, timeout=BRIAR_WAIT_TIMEOUT)
|
37
37
|
msg = "waited for '#{timeout}' seconds but did not see '#{sheet_id}'"
|
38
38
|
wait_for(:timeout => timeout,
|
39
|
-
:retry_frequency =>
|
40
|
-
:post_timeout =>
|
39
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
40
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
41
41
|
:timeout_message => msg ) do
|
42
42
|
sheet_exists? sheet_id
|
43
43
|
end
|
@@ -46,8 +46,8 @@ module Briar
|
|
46
46
|
def wait_for_sheet_to_disappear(sheet_id, timeout=BRIAR_WAIT_TIMEOUT)
|
47
47
|
msg = "waited for '#{timeout}' seconds for '#{sheet_id}' to disappear but it is still visible"
|
48
48
|
options = {:timeout => timeout,
|
49
|
-
:retry_frequency =>
|
50
|
-
:post_timeout =>
|
49
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
50
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
51
51
|
:timeout_message => msg}
|
52
52
|
wait_for(options) do
|
53
53
|
not sheet_exists? sheet_id
|
@@ -49,8 +49,8 @@ module Briar
|
|
49
49
|
qstr = 'alertView child label'
|
50
50
|
msg = "waited for '#{timeout}' for alert with title '#{title}'"
|
51
51
|
wait_for(:timeout => timeout,
|
52
|
-
:retry_frequency =>
|
53
|
-
:post_timeout =>
|
52
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
53
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
54
54
|
:timeout_message => msg) do
|
55
55
|
query(qstr, :text).include?(title)
|
56
56
|
end
|
@@ -68,8 +68,8 @@ module Briar
|
|
68
68
|
qstr = 'alertView child label'
|
69
69
|
msg = "waited for '#{timeout}' for alert with message '#{message}'"
|
70
70
|
wait_for(:timeout => timeout,
|
71
|
-
:retry_frequency =>
|
72
|
-
:post_timeout =>
|
71
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
72
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
73
73
|
:timeout_message => msg) do
|
74
74
|
query(qstr, :text).include?(title)
|
75
75
|
end
|
data/lib/briar/bars/navbar.rb
CHANGED
@@ -26,8 +26,8 @@ module Briar
|
|
26
26
|
timeout = BRIAR_WAIT_TIMEOUT * 2.0
|
27
27
|
msg = "waited for '#{timeout}' seconds but did not see navbar back button"
|
28
28
|
wait_for(:timeout => timeout,
|
29
|
-
:retry_frequency =>
|
30
|
-
:post_timeout =>
|
29
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
30
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
31
31
|
:timeout_message => msg) do
|
32
32
|
navbar_has_back_button?
|
33
33
|
end
|
@@ -52,8 +52,8 @@ module Briar
|
|
52
52
|
timeout = BRIAR_WAIT_TIMEOUT
|
53
53
|
msg = "waited for '#{timeout}' seconds but did not see '#{name}' in navigation bar"
|
54
54
|
wait_for(:timeout => timeout,
|
55
|
-
:retry_frequency =>
|
56
|
-
:post_timeout =>
|
55
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
56
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
57
57
|
:timeout_message => msg) do
|
58
58
|
element_exists qstr
|
59
59
|
end
|
@@ -73,8 +73,8 @@ module Briar
|
|
73
73
|
timeout = 1.0
|
74
74
|
msg = "waited for '#{timeout}' seconds but i still see '#{name}' in navigation bar"
|
75
75
|
wait_for(:timeout => timeout,
|
76
|
-
:retry_frequency =>
|
77
|
-
:post_timeout =>
|
76
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
77
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
78
78
|
:timeout_message => msg) do
|
79
79
|
element_does_not_exist qstr
|
80
80
|
end
|
@@ -97,7 +97,8 @@ module Briar
|
|
97
97
|
def go_back_after_waiting
|
98
98
|
sleep(0.2)
|
99
99
|
wait_for(:timeout => 1.0,
|
100
|
-
:retry_frequency =>
|
100
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
101
|
+
:post_timeout => BRIAR_POST_TIMEOUT) do
|
101
102
|
not query('navigationItemButtonView first').empty?
|
102
103
|
end
|
103
104
|
touch('navigationItemButtonView first')
|
@@ -106,8 +107,8 @@ module Briar
|
|
106
107
|
|
107
108
|
def go_back_and_wait_for_view (view)
|
108
109
|
sleep(0.2)
|
109
|
-
wait_for(:timeout =>
|
110
|
-
:retry_frequency =>
|
110
|
+
wait_for(:timeout => BRIAR_WAIT_TIMEOUT,
|
111
|
+
:retry_frequency => BRIAR_RETRY_FREQ) do
|
111
112
|
not query('navigationItemButtonView first').empty?
|
112
113
|
end
|
113
114
|
|
@@ -119,8 +120,8 @@ module Briar
|
|
119
120
|
end
|
120
121
|
|
121
122
|
def touch_navbar_item(item_name, wait_for_view_id=nil)
|
122
|
-
wait_for(:timeout =>
|
123
|
-
:retry_frequency =>
|
123
|
+
wait_for(:timeout => BRIAR_WAIT_TIMEOUT,
|
124
|
+
:retry_frequency => BRIAR_RETRY_FREQ) do
|
124
125
|
(index_of_navbar_button(item_name) != nil) || button_exists?(item_name)
|
125
126
|
end
|
126
127
|
sleep(0.2)
|
@@ -154,17 +155,12 @@ module Briar
|
|
154
155
|
def should_see_navbar_with_title(title, timeout=BRIAR_WAIT_TIMEOUT)
|
155
156
|
msg = "waited for '#{timeout}' seconds but i did not see #{title} in navbar"
|
156
157
|
wait_for(:timeout => timeout,
|
157
|
-
:retry_frequency =>
|
158
|
-
:post_timeout =>
|
158
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
159
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
159
160
|
:timeout_message => msg) do
|
160
161
|
navbar_has_title? title
|
161
162
|
end
|
162
163
|
end
|
163
|
-
|
164
|
-
|
165
|
-
def navbar_should_have_title(title)
|
166
|
-
pending "deprecated 0.0.6 - use should_see_navbar_with_title '#{title}'"
|
167
|
-
end
|
168
164
|
end
|
169
165
|
end
|
170
166
|
|
data/lib/briar/bars/tabbar.rb
CHANGED
@@ -25,8 +25,8 @@ module Briar
|
|
25
25
|
|
26
26
|
def touch_tabbar_item(name, wait_for_view_id=nil)
|
27
27
|
sleep(0.2)
|
28
|
-
wait_for(:timeout =>
|
29
|
-
:retry_frequency =>
|
28
|
+
wait_for(:timeout => BRIAR_WAIT_TIMEOUT,
|
29
|
+
:retry_frequency => BRIAR_RETRY_FREQ) do
|
30
30
|
index_of_tabbar_item(name) != nil
|
31
31
|
end
|
32
32
|
should_see_tabbar
|
@@ -49,10 +49,6 @@ module Briar
|
|
49
49
|
screenshot_and_raise "should have seen tab named '#{name}' at index '#{index}' but found these: '#{tabs}'"
|
50
50
|
end
|
51
51
|
end
|
52
|
-
|
53
|
-
def tabbar_item_is_at_index(name, index)
|
54
|
-
pending "deprecated 0.0.6 - use should_see_tab_at_index '#{name}', '#{index}'"
|
55
|
-
end
|
56
52
|
end
|
57
53
|
end
|
58
54
|
|
data/lib/briar/briar_core.rb
CHANGED
@@ -94,8 +94,8 @@ module Briar
|
|
94
94
|
def wait_for_view (view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
95
95
|
msg = "waited for '#{timeout}' seconds but did not see '#{view_id}'"
|
96
96
|
wait_for(:timeout => timeout,
|
97
|
-
:retry_frequency =>
|
98
|
-
:post_timeout =>
|
97
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
98
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
99
99
|
:timeout_message => msg) do
|
100
100
|
view_exists? view_id
|
101
101
|
end
|
@@ -104,8 +104,8 @@ module Briar
|
|
104
104
|
def wait_for_query(qstr, timeout=BRIAR_WAIT_TIMEOUT)
|
105
105
|
msg = "waited for '#{timeout}' seconds but did not see\n '#{qstr}'"
|
106
106
|
wait_for(:timeout => timeout,
|
107
|
-
:retry_frequency =>
|
108
|
-
:post_timeout =>
|
107
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
108
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
109
109
|
:timeout_message => msg) do
|
110
110
|
!query(qstr).empty?
|
111
111
|
end
|
@@ -114,8 +114,8 @@ module Briar
|
|
114
114
|
def wait_for_custom_view (view_class, view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
115
115
|
msg = "waited for '#{timeout}' seconds but did not see '#{view_id}'"
|
116
116
|
wait_for(:timeout => timeout,
|
117
|
-
:retry_frequency =>
|
118
|
-
:post_timeout =>
|
117
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
118
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
119
119
|
:timeout_message => msg) do
|
120
120
|
!query("view:'#{view_class}' marked:'#{view_id}'").empty?
|
121
121
|
end
|
@@ -137,8 +137,8 @@ module Briar
|
|
137
137
|
def wait_for_views(views, timeout=BRIAR_WAIT_TIMEOUT)
|
138
138
|
msg = "waited for '#{timeout}' seconds but did not see '#{views}'"
|
139
139
|
options = {:timeout => timeout,
|
140
|
-
:retry_frequency =>
|
141
|
-
:post_timeout =>
|
140
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
141
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
142
142
|
:timeout_message => msg}
|
143
143
|
wait_for(options) do
|
144
144
|
views.all? { |view_id| view_exists?(view_id) }
|
@@ -148,8 +148,8 @@ module Briar
|
|
148
148
|
def wait_for_view_to_disappear(view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
149
149
|
msg = "waited for '#{timeout}' seconds for '#{view_id}' to disappear but it is still visible"
|
150
150
|
options = {:timeout => timeout,
|
151
|
-
:retry_frequency =>
|
152
|
-
:post_timeout =>
|
151
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
152
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
153
153
|
:timeout_message => msg}
|
154
154
|
wait_for(options) do
|
155
155
|
not view_exists? view_id
|
data/lib/briar/control/button.rb
CHANGED
@@ -54,8 +54,8 @@ module Briar
|
|
54
54
|
def wait_for_button (button_id, timeout=BRIAR_WAIT_TIMEOUT)
|
55
55
|
msg = "waited for '#{timeout}' seconds but did not see button '#{button_id}'"
|
56
56
|
wait_for(:timeout => timeout,
|
57
|
-
:retry_frequency =>
|
58
|
-
:post_timeout =>
|
57
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
58
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
59
59
|
:timeout_message => msg ) do
|
60
60
|
button_exists? button_id
|
61
61
|
end
|
@@ -64,8 +64,8 @@ module Briar
|
|
64
64
|
def wait_for_button_with_title (button_id, title, timeout=BRIAR_WAIT_TIMEOUT)
|
65
65
|
msg = "waited for '#{timeout}' seconds but did not see button '#{button_id}' with title '#{title}'"
|
66
66
|
wait_for(:timeout => timeout,
|
67
|
-
:retry_frequency =>
|
68
|
-
:post_timeout =>
|
67
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
68
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
69
69
|
:timeout_message => msg ) do
|
70
70
|
button_exists? button_id
|
71
71
|
end
|
@@ -16,66 +16,53 @@ module Briar
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def index_of_segment_with_name_in_control_with_id(segment_id, control_id)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
19
|
+
qstr = "segmentedControl marked:'#{control_id}'"
|
20
|
+
num_segs = query(qstr, :numberOfSegments).first.to_i
|
21
|
+
idx = 0
|
22
|
+
while idx < num_segs
|
23
|
+
title = query(qstr, {titleForSegmentAtIndex:idx}).first
|
24
|
+
return idx if title.eql?(segment_id)
|
25
|
+
idx = idx + 1
|
25
26
|
end
|
27
|
+
return nil
|
26
28
|
end
|
27
29
|
|
28
30
|
def should_see_segment_with_selected_state (control_id, segment_id, selected_state)
|
29
31
|
@segment_id = segment_id
|
30
32
|
@control_id = control_id
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
end
|
40
|
-
else
|
41
|
-
screenshot_and_raise "could not find #{segment_id} in #{control_id}"
|
42
|
-
end
|
43
|
-
else
|
44
|
-
screenshot_and_raise "could not find control named #{control_id}"
|
33
|
+
res = query("segmentedControl marked:'#{control_id}' child segment marked:'#{segment_id}'",
|
34
|
+
:isSelected)
|
35
|
+
if res.empty?
|
36
|
+
screenshot_and_raise "expected to see segmented control '#{control_id}' with segment '#{segment_id}'"
|
37
|
+
end
|
38
|
+
|
39
|
+
unless res.first.to_i == selected_state
|
40
|
+
screenshot_and_raise "expected to see segment '#{segment_id}' in '#{control_id}' with selection state '#{selected_state}' but found '#{res.to_i}'"
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
48
44
|
def touch_segment(segment_id, control_id)
|
49
45
|
@segment_id = segment_id
|
50
46
|
@control_id = control_id
|
51
|
-
|
52
|
-
|
53
|
-
touch("segmentedControl index:#{idx} child segment child segmentLabel marked:'#{segment_id}'")
|
54
|
-
step_pause
|
55
|
-
else
|
56
|
-
screenshot_and_raise "could not find segmented control with name #{control_id}"
|
57
|
-
end
|
47
|
+
touch("segmentedControl marked:'#{control_id}' child segment marked:'#{segment_id}'")
|
48
|
+
step_pause
|
58
49
|
end
|
59
50
|
|
60
51
|
def should_see_control_with_segment_titles (control_id, segment_titles)
|
61
52
|
@control_id = control_id
|
62
53
|
should_see_view control_id
|
63
|
-
tokens = segment_titles
|
54
|
+
tokens = tokenize_list(segment_titles)
|
64
55
|
tokens.each do |token|
|
65
56
|
token.strip!
|
66
57
|
end
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
screenshot_and_raise "when inspecting #{control_id} i expected title: #{expected} but found: #{actual} at index #{counter}"
|
74
|
-
end
|
75
|
-
counter = counter + 1
|
58
|
+
counter = 0
|
59
|
+
tokens.each do |expected|
|
60
|
+
idx = index_of_segment_with_name_in_control_with_id expected, control_id
|
61
|
+
unless idx == counter
|
62
|
+
actual = query("segmentedControl marked:'#{control_id}'", {titleForSegmentAtIndex:counter}).first
|
63
|
+
screenshot_and_raise "expected to see segment '#{expected}' at index '#{counter}' but found '#{actual}'"
|
76
64
|
end
|
77
|
-
|
78
|
-
screenshot_and_raise "could not find segmented control with name #{control_id}"
|
65
|
+
counter = counter + 1
|
79
66
|
end
|
80
67
|
end
|
81
68
|
end
|
data/lib/briar/email.rb
CHANGED
@@ -61,7 +61,7 @@ module Briar
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def email_to_contains? (address)
|
64
|
-
addrs = email_to
|
64
|
+
addrs = tokenize_list(email_to)
|
65
65
|
addrs.include? address
|
66
66
|
end
|
67
67
|
|
@@ -81,25 +81,32 @@ module Briar
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def is_ios6_mail_view
|
84
|
-
warn 'WARN:
|
84
|
+
warn 'WARN: deprecated 0.0.9'
|
85
85
|
end
|
86
86
|
|
87
|
-
def should_see_mail_view (timeout
|
87
|
+
def should_see_mail_view (opts = {:timeout => BRIAR_WAIT_TIMEOUT,
|
88
|
+
:email_view_mark => 'compose email'})
|
89
|
+
|
90
|
+
{:timeout => BRIAR_WAIT_TIMEOUT, :email_view_mark => 'compose email'}.merge!(opts)
|
91
|
+
|
92
|
+
|
88
93
|
if email_not_testable?
|
89
94
|
warn_about_no_ios5_email_view
|
90
95
|
return
|
91
96
|
end
|
92
97
|
|
98
|
+
timeout = opts[:timeout]
|
93
99
|
msg = "waited for '#{timeout}' seconds but did not see email compose view"
|
94
100
|
dev = device()
|
101
|
+
email_view_mark = opts[:email_view_mark]
|
95
102
|
wait_for(:timeout => timeout,
|
96
|
-
:retry_frequency =>
|
97
|
-
:post_timeout =>
|
103
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
104
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
98
105
|
:timeout_message => msg) do
|
99
106
|
if dev.ios5?
|
100
107
|
is_ios5_mail_view
|
101
108
|
else
|
102
|
-
view_exists?
|
109
|
+
view_exists? email_view_mark
|
103
110
|
end
|
104
111
|
end
|
105
112
|
end
|
@@ -144,8 +151,8 @@ module Briar
|
|
144
151
|
timeout = BRIAR_WAIT_TIMEOUT * 2
|
145
152
|
msg = "waited for '#{timeout}' seconds but did not see cancel button"
|
146
153
|
wait_for(:timeout => timeout,
|
147
|
-
:retry_frequency =>
|
148
|
-
:post_timeout =>
|
154
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
155
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
149
156
|
:timeout_message => msg) do
|
150
157
|
uia_element_exists?(:view, marked: 'Cancel')
|
151
158
|
end
|
@@ -153,8 +160,8 @@ module Briar
|
|
153
160
|
uia_tap_mark('Cancel')
|
154
161
|
msg = "waited for '#{timeout}' seconds but did not see dismiss email action sheet"
|
155
162
|
wait_for(:timeout => timeout,
|
156
|
-
:retry_frequency =>
|
157
|
-
:post_timeout =>
|
163
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
164
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
158
165
|
:timeout_message => msg) do
|
159
166
|
uia_element_exists?(:view, marked: 'Delete Draft')
|
160
167
|
end
|
data/lib/briar/keyboard.rb
CHANGED
@@ -3,8 +3,6 @@ module Briar
|
|
3
3
|
# dismiss the keyboard on iPad
|
4
4
|
# send_uia_command command:"uia.keyboard().buttons()['Hide keyboard'].tap()"
|
5
5
|
|
6
|
-
# these are not ready for prime time
|
7
|
-
# the methods for setting auto correct, spell check, etc. are not ready
|
8
6
|
UITextAutocapitalizationTypeNone = 0
|
9
7
|
UITextAutocapitalizationTypeWords = 1
|
10
8
|
UITextAutocapitalizationTypeSentences = 2
|
@@ -14,6 +12,7 @@ module Briar
|
|
14
12
|
UITextAutocorrectionTypeNo = 1
|
15
13
|
|
16
14
|
|
15
|
+
# might be 0 and 1?
|
17
16
|
UITextSpellCheckingTypeNo = 1
|
18
17
|
UITextSpellCheckingTypeYes = 2
|
19
18
|
|
@@ -22,8 +21,8 @@ module Briar
|
|
22
21
|
def should_see_keyboard (timeout=BRIAR_WAIT_TIMEOUT)
|
23
22
|
msg = "waited for '#{timeout}' seconds but did not see keyboard"
|
24
23
|
wait_for(:timeout => timeout,
|
25
|
-
:retry_frequency =>
|
26
|
-
:post_timeout =>
|
24
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
25
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
27
26
|
:timeout_message => msg) do
|
28
27
|
element_exists('keyboardAutomatic')
|
29
28
|
end
|
@@ -32,8 +31,8 @@ module Briar
|
|
32
31
|
def should_not_see_keyboard (timeout=BRIAR_WAIT_TIMEOUT)
|
33
32
|
msg = "waited for '#{timeout}' seconds but keyboard did not disappear"
|
34
33
|
wait_for(:timeout => timeout,
|
35
|
-
:retry_frequency =>
|
36
|
-
:post_timeout =>
|
34
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
35
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
37
36
|
:timeout_message => msg) do
|
38
37
|
element_does_not_exist 'keyboardAutomatic'
|
39
38
|
end
|
@@ -68,78 +67,68 @@ module Briar
|
|
68
67
|
end
|
69
68
|
end
|
70
69
|
|
70
|
+
|
71
|
+
def briar_clear_text(view_id, timeout=5)
|
72
|
+
warn("deprecated 0.1.1 - will remove 'timeout' argument in a future release")
|
73
|
+
clear_text("view marked:'#{view_id}'")
|
74
|
+
|
75
|
+
# i really wanted this to work, but there are too many issues with the
|
76
|
+
# touch not bringing up the the Select menu bar - for example sometimes
|
77
|
+
# it brings up the typo correction bar.
|
78
|
+
#wait_for_view view_id
|
79
|
+
#step_pause
|
80
|
+
#touch("view marked:'#{view_id}'")
|
81
|
+
#wait_for_button 'Select All', timeout
|
82
|
+
#step_pause
|
83
|
+
#touch_button_and_wait_for_view 'Select All', 'Cut', timeout
|
84
|
+
#step_pause
|
85
|
+
#touch_button 'Cut'
|
86
|
+
#step_pause
|
87
|
+
end
|
88
|
+
|
89
|
+
### deprecated ###
|
90
|
+
|
71
91
|
def set_autocapitalization (type)
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
92
|
+
pending('deprecated 0.1.1 - does not work')
|
93
|
+
#if !query('textView index:0').empty?
|
94
|
+
# query('textView index:0', [{setAutocapitalizationType: type}])
|
95
|
+
#elsif !query('textField index:0').empty?
|
96
|
+
# query('textField index:0', [{setAutocapitalizationType: type}])
|
97
|
+
#else
|
98
|
+
# screenshot_and_raise 'could not find a text view or text field'
|
99
|
+
#end
|
79
100
|
end
|
80
101
|
|
81
102
|
def turn_autocapitalization_off
|
82
|
-
|
103
|
+
pending('deprecated 0.1.1 - does not work')
|
104
|
+
#set_autocapitalization UITextAutocapitalizationTypeNone
|
83
105
|
end
|
84
106
|
|
85
107
|
def set_autocorrect (type)
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
108
|
+
pending('deprecated 0.1.1 - does not work')
|
109
|
+
#if !query('textView index:0').empty?
|
110
|
+
# query('textView index:0', [{setAutocorrectionType: type}])
|
111
|
+
#elsif !query('textField index:0').empty?
|
112
|
+
# query('textField index:0', [{setAutocorrectionType: type}])
|
113
|
+
#else
|
114
|
+
# screenshot_and_raise 'could not find a text view or text field'
|
115
|
+
#end
|
93
116
|
end
|
94
117
|
|
95
118
|
def turn_autocorrect_off
|
96
|
-
|
119
|
+
pending('deprecated 0.1.1 - does not work')
|
120
|
+
# set_autocorrect UITextAutocorrectionTypeNo
|
97
121
|
end
|
98
122
|
|
99
123
|
def turn_spell_correct_off
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
def briar_clear_text(view_id, timeout=5)
|
110
|
-
wait_for_view view_id
|
111
|
-
step_pause
|
112
|
-
touch("view marked:'#{view_id}'")
|
113
|
-
wait_for_button 'Select All', timeout
|
114
|
-
step_pause
|
115
|
-
touch_button_and_wait_for_view 'Select All', 'Cut', timeout
|
116
|
-
step_pause
|
117
|
-
touch_button 'Cut'
|
118
|
-
step_pause
|
124
|
+
pending('deprecated 0.1.1 - does not work')
|
125
|
+
#if !query('textView index:0').empty?
|
126
|
+
# query('textView index:0', [{setSpellCheckingType: UITextSpellCheckingTypeNo}])
|
127
|
+
#elsif !query('textField index:0').empty?
|
128
|
+
# query('textField index:0', [{setSpellCheckingType: UITextSpellCheckingTypeNo}])
|
129
|
+
#else
|
130
|
+
# screenshot_and_raise 'could not find a text view or text field'
|
131
|
+
#end
|
119
132
|
end
|
120
|
-
|
121
|
-
#def is_capitalize_none (cap_type)
|
122
|
-
# cap_type == UITextAutocapitalizationTypeNone
|
123
|
-
#end
|
124
|
-
#
|
125
|
-
#def is_capitalize_words (cap_type)
|
126
|
-
# cap_type == UITextAutocapitalizationTypeWords
|
127
|
-
#end
|
128
|
-
#
|
129
|
-
#def is_capitalize_sentences (cap_type)
|
130
|
-
# cap_type == UITextAutocapitalizationTypeSentences
|
131
|
-
#end
|
132
|
-
#
|
133
|
-
#def is_capitalize_all (cap_type)
|
134
|
-
# cap_type == UITextAutocapitalizationTypeAllCharacters
|
135
|
-
#end
|
136
|
-
#
|
137
|
-
#def is_autocorrect_on (state)
|
138
|
-
# state == UITextAutocorrectionTypeYes
|
139
|
-
#end
|
140
|
-
#
|
141
|
-
#def is_autocorrect_off (state)
|
142
|
-
# state == UITextAutocorrectionTypeNo
|
143
|
-
#end
|
144
133
|
end
|
145
134
|
end
|
data/lib/briar/label.rb
CHANGED
@@ -32,8 +32,8 @@ module Briar
|
|
32
32
|
def wait_for_label (label_id, timeout=BRIAR_WAIT_TIMEOUT)
|
33
33
|
msg = "waited for '#{timeout}' seconds but did not see label '#{label_id}'"
|
34
34
|
wait_for(:timeout => timeout,
|
35
|
-
:retry_frequency =>
|
36
|
-
:post_timeout =>
|
35
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
36
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
37
37
|
:timeout_message => msg ) do
|
38
38
|
label_exists? label_id
|
39
39
|
end
|
@@ -141,7 +141,7 @@ module Briar
|
|
141
141
|
if convert
|
142
142
|
past = Time.now.gmtime + Time.now.gmtoff - (target_minutes.to_i * 60)
|
143
143
|
else
|
144
|
-
past = Time.
|
144
|
+
past = Time.now - (60 * target_minutes.to_i)
|
145
145
|
end
|
146
146
|
|
147
147
|
opts = {:picker_id => picker_id,
|
@@ -90,7 +90,7 @@ module Briar
|
|
90
90
|
|
91
91
|
def target_date_for_change_time_on_picker_with_time(target_time, convert, picker_id=nil)
|
92
92
|
current_time = ruby_time_from_picker picker_id
|
93
|
-
tz_offset = convert ? 0 : (
|
93
|
+
tz_offset = (convert) ? 0 : Rational((target_time.utc_offset/3600.0)/24.0)
|
94
94
|
DateTime.new(current_time.year, current_time.mon, current_time.day,
|
95
95
|
target_time.hour, target_time.min,
|
96
96
|
0, tz_offset)
|
@@ -117,8 +117,8 @@ module Briar
|
|
117
117
|
def ensure_can_change_picker_to_date(target_dt, picker_id=nil)
|
118
118
|
max_date = maximum_date_time_from_picker picker_id
|
119
119
|
if max_date and target_dt > max_date
|
120
|
-
|
121
|
-
|
120
|
+
puts "\ntarget: '#{target_dt}'"
|
121
|
+
puts " max: '#{max_date}'"
|
122
122
|
screenshot_and_raise "cannot change time to '#{target_dt}' because the picker has a maximum date of '#{max_date}'"
|
123
123
|
end
|
124
124
|
|
data/lib/briar/table.rb
CHANGED
@@ -86,8 +86,8 @@ module Briar
|
|
86
86
|
timeout = options[:timeout] || BRIAR_WAIT_TIMEOUT
|
87
87
|
msg = "waited for '#{timeout}' seconds but did not see row '#{query_str}' with query '#{query_str}'"
|
88
88
|
wait_for(:timeout => timeout,
|
89
|
-
:retry_frequency =>
|
90
|
-
:post_timeout =>
|
89
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
90
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
91
91
|
:timeout_message => msg) do
|
92
92
|
row_visible? row_id, table_id
|
93
93
|
end
|
@@ -169,19 +169,6 @@ module Briar
|
|
169
169
|
end
|
170
170
|
end
|
171
171
|
|
172
|
-
def scroll_until_i_see_row (dir, row_id, table_id=nil)
|
173
|
-
warn "deprecated 0.0.8 - use 'scroll_to_row #{row_id}' with optional table view mark"
|
174
|
-
wait_poll({:until_exists => query_str_for_row(row_id, table_id),
|
175
|
-
:timeout => 2}) do
|
176
|
-
scroll('tableView', dir)
|
177
|
-
end
|
178
|
-
|
179
|
-
unless row_visible?(row_id)
|
180
|
-
screenshot_and_raise "i scrolled '#{dir}' but did not see '#{row_id}'"
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
|
185
172
|
def touch_row_offset_hash (row_id, table_id = nil)
|
186
173
|
offset = 0
|
187
174
|
query = query_str_for_row row_id, table_id
|
@@ -262,8 +249,8 @@ module Briar
|
|
262
249
|
timeout = 5
|
263
250
|
msg = "waited for '#{timeout}' seconds but did not see 'Delete' confirmation in row '#{row_id}'"
|
264
251
|
wait_for(:timeout => timeout,
|
265
|
-
:retry_frequency =>
|
266
|
-
:post_timeout =>
|
252
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
253
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
267
254
|
:timeout_message => msg) do
|
268
255
|
element_exists query_str
|
269
256
|
end
|
data/lib/briar/text_view.rb
CHANGED
@@ -9,8 +9,8 @@ module Briar
|
|
9
9
|
def wait_for_text_view(view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
10
10
|
msg = "waited for '#{timeout}' seconds but did not see '#{view_id}'"
|
11
11
|
wait_for(:timeout => timeout,
|
12
|
-
:retry_frequency =>
|
13
|
-
:post_timeout =>
|
12
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
13
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
14
14
|
:timeout_message => msg) do
|
15
15
|
text_view_exists? view_id
|
16
16
|
end
|
@@ -19,8 +19,8 @@ module Briar
|
|
19
19
|
def wait_for_text_view_to_disappear(view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
20
20
|
msg = "waited for '#{timeout}' seconds for '#{view_id}' to disappear but it is still visible"
|
21
21
|
options = {:timeout => timeout,
|
22
|
-
:retry_frequency =>
|
23
|
-
:post_timeout =>
|
22
|
+
:retry_frequency => BRIAR_RETRY_FREQ,
|
23
|
+
:post_timeout => BRIAR_POST_TIMEOUT,
|
24
24
|
:timeout_message => msg}
|
25
25
|
wait_for(options) do
|
26
26
|
not text_view_exists? view_id
|
data/lib/briar/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: briar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Moody
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: calabash-cucumber
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ! '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
description: extends calabash-ios steps
|
70
56
|
email:
|
71
57
|
- joshuajmoody@gmail.com
|
@@ -155,10 +141,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
141
|
version: '0'
|
156
142
|
requirements: []
|
157
143
|
rubyforge_project:
|
158
|
-
rubygems_version: 2.1.
|
144
|
+
rubygems_version: 2.1.10
|
159
145
|
signing_key:
|
160
146
|
specification_version: 4
|
161
|
-
summary: briar-0.1.
|
147
|
+
summary: briar-0.1.1
|
162
148
|
test_files:
|
163
149
|
- features/step_definitions/alerts_and_sheets/action_sheet_steps.rb
|
164
150
|
- features/step_definitions/alerts_and_sheets/alert_view_steps.rb
|