def test_load_should_load_javascript_files(self): js_code_dummy = """ function tab_navigation(text){ console.log('unit_testing:' + text); }""" dummy_argument = 'argument1' expected_js_code_dummy = """current_document = this.browserbot.getCurrentWindow().document; current_window = this.browserbot.getCurrentWindow(); function tab_navigation(text){ console.log('unit_testing:' + text); } action = new tab_navigation(); result = action.execute("argument1");""" js_file_dummy = 'js_test.js' mocked_file = Mock() mocked_file.read.return_value = js_code_dummy mocked_open = Mock() mocked_open.return_value = mocked_file with patch.dict(__builtins__, {'open': mocked_open}): js_loader = JsCodeLoader() result = js_loader._load(js_file_dummy, ['argument1']) mocked_open.assert_called_with('js_codes/' + js_file_dummy, 'r') self.assertTrue(mocked_file.read.called) self.assertEquals(expected_js_code_dummy, result)
def execute(self, context, text): js_loader = JsCodeLoader() active_element_dom = js_loader.exec_js(context, 'get_active_element_dom.js') context.browser_driver.type_text(active_element_dom, text) active_element_value = js_loader.exec_js(context, 'verify_active_element_value.js') if (active_element_value != text): raise self.failed('Focused element does not support keyboard input')
def execute(self, context, element_type, element_text, tab_number): js_loader = JsCodeLoader() if (tab_number): result = js_loader.exec_js(context, 'tab_navigation.js', element_text, tab_number) else: result = js_loader.exec_js(context, 'tab_navigation.js', element_text, self.MAX_NUMBER_OF_TAB_KEYS) if (result == self.NOT_FOUND_ELEMENT): raise self.failed('"' + element_text + '" does not exists or is not focusable...') if (result == self.MAX_TAB_PRESSES_EXCEEDED): raise self.failed('"' + element_text + '" max number of tab key presses was exceeded...')
def execute(self, context, element_type, element_text, key_number): js_loader = JsCodeLoader() if (key_number): result = js_loader.exec_js(context, 'arrow_navigation.js', element_text, key_number) else: result = js_loader.exec_js(context, 'arrow_navigation.js', element_text, self.MAX_NUMBER_OF_KEY_PRESSES) if result == self.NOT_FOUND_RESPONSE: raise self.failed('"' + element_text + '" does not exists or is not present in the page structure') if result == self.MAX_NUMBER_OF_KEY_PRESSES_RESPONSE: raise self.failed('"' + element_text + '" was not found within the max number of key presses established')
def test_exec_js_should_call_js_loader_and_browser_driver_exec_js(self): context_mock = Mock() context_mock.browser_driver.exec_js.return_value = 'document.getEle...' js_file_stub = 'some_js_file.js' jsloader = JsCodeLoader() jsloader._load = Mock() jsloader._load.return_value = 'function(){console.log();...' result = jsloader.exec_js(context_mock, js_file_stub) jsloader._load.assert_called_with('some_js_file.js', ()) context_mock.browser_driver.exec_js.assert_called_with('function(){console.log();...') self.assertEquals('document.getEle...', result)
def execute(self, context, extra_argument): js_loader = JsCodeLoader() active_element_dom = js_loader.exec_js(context, 'get_active_element_dom.js') context.browser_driver.type_keys(active_element_dom, '\13') result = js_loader.exec_js(context, 'activate_elements.js')