Squish: Stabilize invoking tab item widgets on Mac

Change-Id: I16a61c1215d64243238a4cfbee007a78c282eb4c
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
This commit is contained in:
Christian Stenger
2013-05-22 09:41:37 +02:00
parent be5c2ea372
commit c8b478f0bd
6 changed files with 22 additions and 12 deletions

View File

@@ -184,7 +184,7 @@ def getQtInformationForQmlProject():
invokeMenuItem("Tools", "Options...") invokeMenuItem("Tools", "Options...")
waitForObjectItem(":Options_QListView", "Build & Run") waitForObjectItem(":Options_QListView", "Build & Run")
clickItem(":Options_QListView", "Build & Run", 14, 15, 0, Qt.LeftButton) clickItem(":Options_QListView", "Build & Run", 14, 15, 0, Qt.LeftButton)
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Kits") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Kits")
targetsTreeView = waitForObject(":Kits_Or_Compilers_QTreeView") targetsTreeView = waitForObject(":Kits_Or_Compilers_QTreeView")
if not __selectTreeItemOnBuildAndRun__(targetsTreeView, "%s(\s\(default\))?" % kit, True): if not __selectTreeItemOnBuildAndRun__(targetsTreeView, "%s(\s\(default\))?" % kit, True):
test.fatal("Found no matching kit - this shouldn't happen.") test.fatal("Found no matching kit - this shouldn't happen.")
@@ -192,7 +192,7 @@ def getQtInformationForQmlProject():
return None, None, None, None return None, None, None, None
qtVersionStr = str(waitForObject(":Kits_QtVersion_QComboBox").currentText) qtVersionStr = str(waitForObject(":Kits_QtVersion_QComboBox").currentText)
test.log("Kit '%s' uses Qt Version '%s'" % (kit, qtVersionStr)) test.log("Kit '%s' uses Qt Version '%s'" % (kit, qtVersionStr))
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Qt Versions") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Qt Versions")
treeWidget = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget") treeWidget = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget")
if not __selectTreeItemOnBuildAndRun__(treeWidget, qtVersionStr): if not __selectTreeItemOnBuildAndRun__(treeWidget, qtVersionStr):
test.fatal("Found no matching Qt Version for kit - this shouldn't happen.") test.fatal("Found no matching Qt Version for kit - this shouldn't happen.")

View File

@@ -66,7 +66,7 @@ def checkSyntaxError(issuesView, expectedTextsArray, warnIfMoreIssues = True):
def changeAutocompleteToManual(): def changeAutocompleteToManual():
invokeMenuItem("Tools", "Options...") invokeMenuItem("Tools", "Options...")
mouseClick(waitForObjectItem(":Options_QListView", "Text Editor"), 5, 5, 0, Qt.LeftButton) mouseClick(waitForObjectItem(":Options_QListView", "Text Editor"), 5, 5, 0, Qt.LeftButton)
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Completion") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Completion")
ensureChecked(waitForObject(":Behavior.Autocomplete common prefix_QCheckBox"), False) ensureChecked(waitForObject(":Behavior.Autocomplete common prefix_QCheckBox"), False)
selectFromCombo(":Behavior.completionTrigger_QComboBox", "Manually") selectFromCombo(":Behavior.completionTrigger_QComboBox", "Manually")
verifyEnabled(":Options.OK_QPushButton") verifyEnabled(":Options.OK_QPushButton")

View File

@@ -294,7 +294,7 @@ def addHelpDocumentationFromSDK():
waitForObjectItem(":Options_QListView", "Help") waitForObjectItem(":Options_QListView", "Help")
clickItem(":Options_QListView", "Help", 14, 15, 0, Qt.LeftButton) clickItem(":Options_QListView", "Help", 14, 15, 0, Qt.LeftButton)
waitForObject("{container=':Options.qt_tabwidget_tabbar_QTabBar' type='TabItem' text='Documentation'}") waitForObject("{container=':Options.qt_tabwidget_tabbar_QTabBar' type='TabItem' text='Documentation'}")
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Documentation") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Documentation")
# get rid of all docs already registered # get rid of all docs already registered
listWidget = waitForObject("{type='QListWidget' name='docsListWidget' visible='1'}") listWidget = waitForObject("{type='QListWidget' name='docsListWidget' visible='1'}")
if listWidget.count > 0: if listWidget.count > 0:
@@ -485,7 +485,7 @@ def iterateQtVersions(keepOptionsOpen=False, alreadyOnOptionsDialog=False,
invokeMenuItem("Tools", "Options...") invokeMenuItem("Tools", "Options...")
waitForObjectItem(":Options_QListView", "Build & Run") waitForObjectItem(":Options_QListView", "Build & Run")
clickItem(":Options_QListView", "Build & Run", 14, 15, 0, Qt.LeftButton) clickItem(":Options_QListView", "Build & Run", 14, 15, 0, Qt.LeftButton)
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Qt Versions") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Qt Versions")
pattern = re.compile("Qt version (?P<version>.*?) for (?P<target>.*)") pattern = re.compile("Qt version (?P<version>.*?) for (?P<target>.*)")
treeWidget = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget") treeWidget = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget")
root = treeWidget.invisibleRootItem() root = treeWidget.invisibleRootItem()
@@ -546,7 +546,7 @@ def iterateKits(keepOptionsOpen=False, alreadyOnOptionsDialog=False,
invokeMenuItem("Tools", "Options...") invokeMenuItem("Tools", "Options...")
waitForObjectItem(":Options_QListView", "Build & Run") waitForObjectItem(":Options_QListView", "Build & Run")
clickItem(":Options_QListView", "Build & Run", 14, 15, 0, Qt.LeftButton) clickItem(":Options_QListView", "Build & Run", 14, 15, 0, Qt.LeftButton)
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Kits") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Kits")
treeView = waitForObject(":Kits_Or_Compilers_QTreeView") treeView = waitForObject(":Kits_Or_Compilers_QTreeView")
model = treeView.model() model = treeView.model()
test.compare(model.rowCount(), 2, "Verifying expected target section count") test.compare(model.rowCount(), 2, "Verifying expected target section count")
@@ -589,7 +589,7 @@ def setAlwaysStartFullHelp():
invokeMenuItem("Tools", "Options...") invokeMenuItem("Tools", "Options...")
waitForObjectItem(":Options_QListView", "Help") waitForObjectItem(":Options_QListView", "Help")
clickItem(":Options_QListView", "Help", 5, 5, 0, Qt.LeftButton) clickItem(":Options_QListView", "Help", 5, 5, 0, Qt.LeftButton)
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "General") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "General")
selectFromCombo(":Startup.contextHelpComboBox_QComboBox", "Always Start Full Help") selectFromCombo(":Startup.contextHelpComboBox_QComboBox", "Always Start Full Help")
clickButton(waitForObject(":Options.OK_QPushButton")) clickButton(waitForObject(":Options.OK_QPushButton"))
@@ -651,3 +651,13 @@ def readFile(filename):
def simpleFileName(navigatorFileName): def simpleFileName(navigatorFileName):
return ".".join(navigatorFileName.split(".")[-2:]).replace("\\","") return ".".join(navigatorFileName.split(".")[-2:]).replace("\\","")
def clickOnTab(tabBarStr, tabText, timeout=5000):
if platform.system() == 'Darwin':
if not waitFor("object.exists(tabBarStr)", timeout):
raise LookupError("Could not find QTabBar: %s" % objectMap.realName(tabBarStr))
tabBar = findObject(tabBarStr)
if not tabBar.visible:
test.log("Using workaround for Mac.")
setWindowState(tabBar, WindowState.Normal)
clickTab(waitForObject(tabBarStr, timeout), tabText)

View File

@@ -127,7 +127,7 @@ def safeClickTab(tab):
for bar in [":*Qt Creator.JavaScript_QTabBar", for bar in [":*Qt Creator.JavaScript_QTabBar",
":*Qt Creator.Events_QTabBar"]: ":*Qt Creator.Events_QTabBar"]:
try: try:
clickTab(waitForObject(bar, 1000), tab) clickOnTab(bar, tab, 1000)
return True return True
except: except:
pass pass

View File

@@ -64,7 +64,7 @@ def __checkBuildAndRun__():
expectedCompilers = __getExpectedCompilers__() expectedCompilers = __getExpectedCompilers__()
foundCompilers = [] foundCompilers = []
foundCompilerNames = [] foundCompilerNames = []
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Compilers") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Compilers")
compilerTV = waitForObject(":Kits_Or_Compilers_QTreeView") compilerTV = waitForObject(":Kits_Or_Compilers_QTreeView")
__iterateTree__(compilerTV, __compFunc__, foundCompilers, foundCompilerNames) __iterateTree__(compilerTV, __compFunc__, foundCompilers, foundCompilerNames)
test.verify(__compareCompilers__(foundCompilers, expectedCompilers), test.verify(__compareCompilers__(foundCompilers, expectedCompilers),
@@ -72,13 +72,13 @@ def __checkBuildAndRun__():
# check Qt versions # check Qt versions
qmakePath = which("qmake") qmakePath = which("qmake")
foundQt = [] foundQt = []
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Qt Versions") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Qt Versions")
qtTW = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget") qtTW = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget")
__iterateTree__(qtTW, __qtFunc__, foundQt, qmakePath) __iterateTree__(qtTW, __qtFunc__, foundQt, qmakePath)
if foundQt: if foundQt:
foundQt = foundQt[0] foundQt = foundQt[0]
# check kits # check kits
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Kits") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Kits")
kitsTV = waitForObject(":Kits_Or_Compilers_QTreeView") kitsTV = waitForObject(":Kits_Or_Compilers_QTreeView")
__iterateTree__(kitsTV, __kitFunc__, foundQt, foundCompilerNames) __iterateTree__(kitsTV, __kitFunc__, foundQt, foundCompilerNames)

View File

@@ -38,7 +38,7 @@ def main():
invokeMenuItem("Tools", "Options...") invokeMenuItem("Tools", "Options...")
waitForObjectItem(":Options_QListView", "Environment") waitForObjectItem(":Options_QListView", "Environment")
clickItem(":Options_QListView", "Environment", 14, 15, 0, Qt.LeftButton) clickItem(":Options_QListView", "Environment", 14, 15, 0, Qt.LeftButton)
clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "General") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "General")
languageName = testData.field(lang, "language") languageName = testData.field(lang, "language")
selectFromCombo(":User Interface.languageBox_QComboBox", languageName) selectFromCombo(":User Interface.languageBox_QComboBox", languageName)
clickButton(waitForObject(":Options.OK_QPushButton")) clickButton(waitForObject(":Options.OK_QPushButton"))