Merge lp:~coreygoldberg/selenium-simple-test/refresh-action into lp:selenium-simple-test

Proposed by Corey Goldberg
Status: Merged
Approved by: Corey Goldberg
Approved revision: 267
Merged at revision: 267
Proposed branch: lp:~coreygoldberg/selenium-simple-test/refresh-action
Merge into: lp:selenium-simple-test
Diff against target: 98 lines (+48/-13)
3 files modified
docs/changelog.rst (+1/-0)
src/sst/actions.py (+36/-13)
src/sst/selftests/refresh.py (+11/-0)
To merge this branch: bzr merge lp:~coreygoldberg/selenium-simple-test/refresh-action
Reviewer Review Type Date Requested Status
Corey Goldberg (community) Approve
Review via email: mp+100117@code.launchpad.net

Commit message

added refresh action

Description of the change

* added `refresh` action to actions.py
* added refresh.py selftest
* updated changelog.rst

To post a comment you must log in.
Revision history for this message
Corey Goldberg (coreygoldberg) wrote :

ok for merge

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'docs/changelog.rst'
2--- docs/changelog.rst 2012-03-27 17:24:33 +0000
3+++ docs/changelog.rst 2012-03-30 12:20:28 +0000
4@@ -15,6 +15,7 @@
5
6 * abilty to handle `file:` based urls (static, non-http)
7 * added `assert_equal` and `assert_not_equal` actions
8+* added `refresh` action
9
10 version **0.2.0** (2012 Feb 26)
11 *******************************
12
13=== modified file 'src/sst/actions.py'
14--- src/sst/actions.py 2012-03-27 18:17:02 +0000
15+++ src/sst/actions.py 2012-03-30 12:20:28 +0000
16@@ -60,23 +60,23 @@
17
18
19 __all__ = [
20- 'accept_alert', 'assert_button', 'assert_checkbox',
21+ 'accept_alert', 'assert_attribute', 'assert_button', 'assert_checkbox',
22 'assert_checkbox_value', 'assert_css_property', 'assert_displayed',
23 'assert_dropdown', 'assert_dropdown_value', 'assert_element',
24- 'assert_attribute', 'assert_link', 'assert_radio', 'assert_radio_value',
25- 'assert_table_headers', 'assert_table_has_rows',
26+ 'assert_equal', 'assert_link', 'assert_not_equal', 'assert_radio',
27+ 'assert_radio_value', 'assert_table_has_rows', 'assert_table_headers',
28 'assert_table_row_contains_text', 'assert_text', 'assert_text_contains',
29 'assert_textfield', 'assert_title', 'assert_title_contains', 'assert_url',
30- 'assert_url_contains', 'click_button', 'click_element', 'click_link',
31- 'close_window', 'debug', 'dismiss_alert', 'end_test', 'exists_element',
32- 'fails', 'get_argument', 'get_base_url', 'get_current_url', 'get_element',
33- 'get_element_by_css', 'get_element_by_xpath', 'get_elements',
34- 'get_elements_by_css', 'get_elements_by_xpath', 'get_link_url',
35- 'get_page_source', 'go_back', 'go_to', 'reset_base_url', 'run_test',
36- 'set_base_url', 'set_checkbox_value', 'set_dropdown_value',
37- 'set_radio_value', 'set_wait_timeout', 'simulate_keys', 'skip',
38- 'check_flags', 'sleep', 'assert_equal', 'assert_not_equal',
39- 'start', 'stop', 'switch_to_frame', 'switch_to_window', 'take_screenshot',
40+ 'assert_url_contains', 'check_flags', 'click_button', 'click_element',
41+ 'click_link', 'close_window', 'debug', 'dismiss_alert', 'end_test',
42+ 'exists_element', 'fails', 'get_argument', 'get_base_url',
43+ 'get_current_url', 'get_element', 'get_element_by_css',
44+ 'get_element_by_xpath', 'get_elements', 'get_elements_by_css',
45+ 'get_elements_by_xpath', 'get_link_url', 'get_page_source', 'go_back',
46+ 'go_to', 'refresh', 'reset_base_url', 'run_test', 'set_base_url',
47+ 'set_checkbox_value', 'set_dropdown_value', 'set_radio_value',
48+ 'set_wait_timeout', 'simulate_keys', 'skip', 'sleep', 'start', 'stop',
49+ 'switch_to_frame', 'switch_to_window', 'take_screenshot',
50 'toggle_checkbox', 'wait_for', 'write_textfield',
51 ]
52
53@@ -218,6 +218,29 @@
54 browsermob_proxy = None
55
56
57+def refresh(wait=True):
58+ """
59+ Refresh the current page.
60+
61+ By default this action will wait until a page with a body element is
62+ available after the click. You can switch off this behaviour by passing
63+ `wait=False`."""
64+ if browsermob_proxy is not None:
65+ _print('Capturing http traffic...')
66+ browsermob_proxy.new_har()
67+
68+ _print('Refreshing current page')
69+ browser.refresh()
70+
71+ if wait:
72+ _waitforbody()
73+
74+ if browsermob_proxy is not None:
75+ _print('Saving HAR output')
76+ _make_results_dir()
77+ browsermob_proxy.save_har(_make_useable_har_name())
78+
79+
80 def take_screenshot(filename='screenshot.png'):
81 """
82 Takes a screenshot of the browser window. Called automatically on failures
83
84=== added file 'src/sst/selftests/refresh.py'
85--- src/sst/selftests/refresh.py 1970-01-01 00:00:00 +0000
86+++ src/sst/selftests/refresh.py 2012-03-30 12:20:28 +0000
87@@ -0,0 +1,11 @@
88+from sst.actions import *
89+
90+go_to('/')
91+
92+assert_title('The Page Title')
93+assert_url('/')
94+
95+refresh()
96+
97+assert_title('The Page Title')
98+assert_url('/')

Subscribers

People subscribed via source and target branches