# -*- coding: utf-8 -*- import dogtail.tc from dogtail import tree from dogtail.utils import screenshot from dogtail.predicate import GenericPredicate from dogtail.rawinput import keyCombo import os import signal from lliurextest import core class FirefoxTest(core.BaseTest): def __init__(self,rel_path): core.BaseTest.__init__(self,rel_path) def test_version(self,version): firefox = tree.root.application('Firefox') x = firefox.child(name="Ajuda") x.click() y = firefox.child(name="Quant al Mozilla Firefox",roleName='menu item') y.click() z = firefox.child(name="Quant al Mozilla Firefox",roleName='dialog') if z.children[0].text != version: status = "wrong" result = "WRONG" else: status = "pass" result = "OK" keyCombo('F4') self.write_result('Firefox Version',result,status) return True def firefox_url(self,goto_url): firefox = tree.root.application('Firefox') list_tool_bar = firefox.findChildren(GenericPredicate(roleName='autocomplete')) tool_bar = '' for item in list_tool_bar: if item.name == 'Busca o introduïx una adreça': tool_bar = item break url = tool_bar.findChildren(GenericPredicate(roleName='entry'))[-1] url.text = goto_url goto_button = tool_bar.findChildren(GenericPredicate(roleName='push button'))[-1] goto_button.click() return True def test_connectors(self): firefox = tree.root.application('Firefox') tools = firefox.child(name="Ferramentes") tools.click() x = tools.child(name="Complements") x.click() elements = firefox.findChildren(GenericPredicate(roleName='embedded component')) manage_components = '' for x in elements: if x.name == 'Gestor de complements': manage_components = x break list_items = manage_components.findChildren(GenericPredicate(roleName='list')) position = None aux_index = None for x in range(len(list_items)): z = list_items[x].findChildren(GenericPredicate(name="Connectors")) if len(z) > 0: z[0].click() aux_index = x list_items.pop(aux_index) list_required = ["Shockwave Flash","VLC Multimedia Plugin"] fail = False list_fails = [] for x in list_items[-1]: l_labels = x.findChildren(GenericPredicate(roleName='label')) if x.findChildren(GenericPredicate(roleName='menu'))[0].name != "Activa'l sempre": fail = True list_fails.append({'name':l_labels[0].name,'description':"Activa'l sempre not selected"}) for y in range(len(list_required)-1,-1,-1): for item in l_labels: if list_required[y] in item.name: list_required.pop(y) break if len(list_required) > 0: fail = True if fail: status = "wrong" result = "WRONG" else: status = "pass" result = "OK" self.write_result('Components list Firefox',result,status) return True x = FirefoxTest('temporal') if not x.run('firefox'): x.close() x.run('firefox') #x.firefox_url('http://www.elotrolado.net') #import time #time.sleep(3) #x.close() x.test_connectors() x.close()