Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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