monkey: Support testing page info state
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
This commit is contained in:
parent
92caa16cfc
commit
09f6c50980
|
@ -0,0 +1,69 @@
|
||||||
|
title: Page state info test
|
||||||
|
group: basic
|
||||||
|
steps:
|
||||||
|
- action: launch
|
||||||
|
language: en
|
||||||
|
- action: window-new
|
||||||
|
tag: win1
|
||||||
|
- action: navigate
|
||||||
|
window: win1
|
||||||
|
url: about:config
|
||||||
|
- action: block
|
||||||
|
conditions:
|
||||||
|
- window: win1
|
||||||
|
status: complete
|
||||||
|
- action: page-info-state
|
||||||
|
window: win1
|
||||||
|
match: INTERNAL
|
||||||
|
- action: navigate
|
||||||
|
window: win1
|
||||||
|
url: file:///
|
||||||
|
- action: block
|
||||||
|
conditions:
|
||||||
|
- window: win1
|
||||||
|
status: complete
|
||||||
|
- action: page-info-state
|
||||||
|
window: win1
|
||||||
|
match: LOCAL
|
||||||
|
- action: navigate
|
||||||
|
window: win1
|
||||||
|
url: http://test.netsurf-browser.org/html/trivial-document.html
|
||||||
|
- action: block
|
||||||
|
conditions:
|
||||||
|
- window: win1
|
||||||
|
status: complete
|
||||||
|
- action: page-info-state
|
||||||
|
window: win1
|
||||||
|
match: INSECURE
|
||||||
|
- action: navigate
|
||||||
|
window: win1
|
||||||
|
url: https://test.netsurf-browser.org/html/trivial-document.html
|
||||||
|
- action: block
|
||||||
|
conditions:
|
||||||
|
- window: win1
|
||||||
|
status: complete
|
||||||
|
- action: page-info-state
|
||||||
|
window: win1
|
||||||
|
match: SECURE
|
||||||
|
- action: navigate
|
||||||
|
window: win1
|
||||||
|
url: https://test.netsurf-browser.org/html/trivial-document-with-png.html
|
||||||
|
- action: block
|
||||||
|
conditions:
|
||||||
|
- window: win1
|
||||||
|
status: complete
|
||||||
|
- action: page-info-state
|
||||||
|
window: win1
|
||||||
|
match: SECURE
|
||||||
|
- action: navigate
|
||||||
|
window: win1
|
||||||
|
url: https://test.netsurf-browser.org/html/trivial-document-with-http-png.html
|
||||||
|
- action: block
|
||||||
|
conditions:
|
||||||
|
- window: win1
|
||||||
|
status: complete
|
||||||
|
- action: page-info-state
|
||||||
|
window: win1
|
||||||
|
match: SECURE_ISSUES
|
||||||
|
- action: quit
|
||||||
|
|
|
@ -588,6 +588,16 @@ def run_test_step_action_js_exec(ctx, step):
|
||||||
win.js_exec(cmd)
|
win.js_exec(cmd)
|
||||||
|
|
||||||
|
|
||||||
|
def run_test_step_action_page_info_state(ctx, step):
|
||||||
|
print(get_indent(ctx) + "Action: " + step["action"])
|
||||||
|
assert_browser(ctx)
|
||||||
|
tag = step['window']
|
||||||
|
win = ctx['windows'].get(tag)
|
||||||
|
assert win is not None
|
||||||
|
match = step['match']
|
||||||
|
assert win.page_info_state == match
|
||||||
|
|
||||||
|
|
||||||
def run_test_step_action_quit(ctx, step):
|
def run_test_step_action_quit(ctx, step):
|
||||||
print(get_indent(ctx) + "Action: " + step["action"])
|
print(get_indent(ctx) + "Action: " + step["action"])
|
||||||
assert_browser(ctx)
|
assert_browser(ctx)
|
||||||
|
@ -619,6 +629,8 @@ STEP_HANDLERS = {
|
||||||
"clear-log": run_test_step_action_clear_log,
|
"clear-log": run_test_step_action_clear_log,
|
||||||
"wait-log": run_test_step_action_wait_log,
|
"wait-log": run_test_step_action_wait_log,
|
||||||
"js-exec": run_test_step_action_js_exec,
|
"js-exec": run_test_step_action_js_exec,
|
||||||
|
"page-info-state":
|
||||||
|
run_test_step_action_page_info_state,
|
||||||
"quit": run_test_step_action_quit,
|
"quit": run_test_step_action_quit,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -406,6 +406,7 @@ class BrowserWindow:
|
||||||
self.plotted = []
|
self.plotted = []
|
||||||
self.plotting = False
|
self.plotting = False
|
||||||
self.log_entries = []
|
self.log_entries = []
|
||||||
|
self.page_info_state = "UNKNOWN"
|
||||||
|
|
||||||
def kill(self):
|
def kill(self):
|
||||||
self.browser.farmer.tell_monkey("WINDOW DESTROY %s" % self.winid)
|
self.browser.farmer.tell_monkey("WINDOW DESTROY %s" % self.winid)
|
||||||
|
@ -519,6 +520,9 @@ class BrowserWindow:
|
||||||
def handle_window_CONSOLE_LOG(self, _src, src, folding, level, *msg):
|
def handle_window_CONSOLE_LOG(self, _src, src, folding, level, *msg):
|
||||||
self.log_entries.append((src, folding == "FOLDABLE", level, " ".join(msg)))
|
self.log_entries.append((src, folding == "FOLDABLE", level, " ".join(msg)))
|
||||||
|
|
||||||
|
def handle_window_PAGE_STATUS(self, _status, status):
|
||||||
|
self.page_info_state = status
|
||||||
|
|
||||||
def load_page(self, url=None, referer=None):
|
def load_page(self, url=None, referer=None):
|
||||||
if url is not None:
|
if url is not None:
|
||||||
self.go(url, referer)
|
self.go(url, referer)
|
||||||
|
|
Loading…
Reference in New Issue