class A11yTest1(unittest.TestCase): def setUp(self): self.runner = MatsRunner(config_file = '../winconfig.ini', url = 'file://' + os.path.join(os.getcwd(), 'pages', 'test1.html')) self.runner.start() def test_a11y_instantiated(self): self.assertEqual(True,self.runner.instantiate_a11y()) self.assertEqual(True, self.runner.is_a11y_instantiated()) def tearDown(self): self.runner.stop() pass
class A11yTest1(unittest.TestCase): def setUp(self): self.runner = MatsRunner( config_file="../winconfig.ini", url="file://" + os.path.join(os.getcwd(), "pages", "test1.html") ) self.runner.start() def test_msaa_at(self): self.assertEqual(True, self.runner.instantiate_a11y()) tree = self.runner.controller.getAccessibleTree() FileButton = tree.xpath('//*[@name="File" and @keyboard-shortcut="Alt+F" and @role="menuitem"]') self.assertEqual(len(FileButton), 1) FileButton = FileButton[0] self.assertEqual(len(FileButton), 1) # it should have a single child now FilePopup = FileButton[0] self.assertEqual(len(FilePopup), 0) # that has no children FilePopup = None # removing old # until is clicked. FileButton.do_default_action() FileButton.update() self.assertGreater(len(FileButton), 1) # check for newcomer FilePopup2 = FileButton[1] # get him self.assertGreater(FilePopup2.get("height"), 0) # he should be visible. # print 'fb len : ' + str(len(FileButton)) # for child in FileButton: # print str(child.items()) # for sub in child: # print 'sub:' + str(sub.items()) ExitButton = FilePopup2.xpath('accessible[@name="Exit" and @role="menuitem"]') self.assertEqual(len(ExitButton), 1) ExitButton = ExitButton[0] self.assertTrue(ExitButton.do_default_action()) self.runner.wait_for_stop() def tearDown(self): pass
class A11yTest1(unittest.TestCase): def setUp(self): self.runner = MatsRunner(config_file = '../winconfig.ini', url = 'file://' + os.path.join(os.getcwd(), 'pages', 'test1.html')) self.runner.start() def test_ia2_from_msaa(self): self.assertEqual(True, self.runner.instantiate_a11y()) tree = self.runner.controller.getAccessibleTree() app_handle = tree.xpath('//*[@role="application"]') self.assertEqual(len(app_handle), 1) app_handle = app_handle[0] print 'starting experimenting with ia2' ia2m = winutils.loadIAccessible2Module() def bfs(queue): while not len(queue) == 0: actnode = queue[0] print actnode.get("role") queue = queue[1:] winutils.getAccessible2ObjectFromMSAA(actnode.os_spec[0]) for child in actnode: queue.append(child) bfs([app_handle]) ifs = winutils.getAccessible2ObjectFromMSAA(app_handle.os_spec[0]) print ifs pyshell.runShellHere({'ifs': ifs, 'ia2m' : ia2m}) #ia2object = winutils.getAccessible2ObjectFromMSAA(app_handle.os_spec[0]) #self.runner.wait_for_stop() pass def tearDown(self): self.runner.stop() pass
class A11yTest1(unittest.TestCase): def setUp(self): self.runner = MatsRunner(config_file = '../winconfig.ini', url = 'file://' + os.path.join(os.getcwd(), 'pages', 'test1.html')) self.runner.start() def test_tree_to_xml_works(self): self.assertEqual(True,self.runner.instantiate_a11y()) self.assertEqual(True, self.runner.is_a11y_instantiated()) tree = self.runner.controller.getAccessibleTree() xml_output = open("XML_output.xml", "w") tree.write(xml_output) xml_output.close() def tearDown(self): self.runner.stop() pass
class A11yTest1(unittest.TestCase): def setUp(self): self.runner = MatsRunner( config_file="../winconfig.ini", url="file://" + os.path.join(os.getcwd(), "pages", "test1.html") ) self.runner.start() def test_if_marionette_triggers_focus_event(self): self.assertEqual(True, self.runner.instantiate_a11y()) button = self.runner.marionette.find_element(method="id", target="button1") self.assertTrue(self.runner.wait_for_event("EVENT_OBJECT_FOCUS", button.click, timeout=10)) pass def tearDown(self): self.runner.stop() pass
class A11yTest1(unittest.TestCase): def setUp(self): self.runner = MatsRunner(config_file = '../winconfig.ini', url = 'file://' + os.path.join(os.getcwd(), 'pages', 'test1.html')) self.runner.start() def test_if_firefox_stops_on_clicking_close_button(self): self.assertEqual(True, self.runner.instantiate_a11y()) tree = self.runner.controller.getAccessibleTree() # this points to something else. No clue what. The MSAA is as intuitive as quantum mechanics # menu_buttons = tree.xpath('accessible[@name="System" and @role="2"]/accessible[@name="System" and @role="12"]/accessible[@name="System" and @role="11"]/*') # #/accessible[@name="System"]/accessible[@name="System"]/accessible[@default-action="Execute" and @keyboard-shortcut="c"]') # # print menu_buttons # # for button in menu_buttons: # if "Close" in (button.get("name") or ""): # close_button = button # break # # self.assertEqual(close_button.get('default-action'), 'Execute') # pyshell.runShellHere({'runner' : self.runner, 'but' : close_button}) close_button = tree.xpath('accessible[@value="MSAA test1 - Nightly"]/accessible[@name="Close" and @role="pushbutton"]') self.assertEqual(len(close_button), 1) close_button = close_button[0] self.assertEqual(close_button.get('default-action'), 'Press') self.assertTrue(close_button.do_default_action()) self.runner.wait_for_stop() pass def tearDown(self): #self.runner.stop() #not in this test! pass