def gearMenu_fileUpload(testcaseId, appName, inFileName): stepName = "gearMenu file upload - "+ appName +" / "+ inFileName myConfigData = bs_common.getConfigurationData() myFileImportPath = myConfigData["fileImportPath"] myFileName, myFileExtenstion = inFileName.split(".") target.processes()["Safari"].mainWindow().webViews()[0].webViews()[appName].buttons().firstWithPredicate_("name contains 'Document and Sort Options'").click() myAppFileType = getFileTypeFromAppName(appName) target.processes()["Safari"].mainWindow().webViews()[0].webViews()[appName].menuItems()["Upload "+ myAppFileType +"..."].staticTexts()["Upload "+ myAppFileType +"..."].click() if target.processes()["Safari"].mainWindow().webViews()[0].webViews()[appName].staticTexts().firstWithPredicate_("name like 'Choose * upload*'"): baseObjectPath.buttons()["Choose Files"].click() keyboard.typeString_withModifiersMask_("g", (kUIAShiftKeyMask|kUIACommandKeyMask)) keyboard.typeString_(myFileImportPath +"/"+ inFileName) keyboard.typeVirtualKey_(kVK_Return) time.sleep(1) target.processes()["Safari"].mainWindow().sheet().buttons()["Choose"].click() target.processes()["Safari"].mainWindow().webViews()[0].webViews()[appName].buttons()["Cancel\n"].waitForInvalid() if not target.processes()["Safari"].mainWindow().webViews()[0].webViews()[appName].staticTexts().firstWithPredicate_("name like '"+ myFileName +"*'"): bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - "+ stepName bs_common.scriptFailedExit(msg) else: bs_common.writeResults(testcaseId, stepName, "PASS") msg = "PASS - "+ stepName bs_common.writeItemToLogFile(msg)
def gearMenu_fileUpload(testcaseId, item): stepName = "gearMenu file upload - "+ item baseObjectPath = target.processes()["Safari"].mainWindow().webViews()[0].webViews().firstWithPredicate_("className like 'UIAWebView'") myConfigData = bs_common.getConfigurationData() myFileImportPath = myConfigData["fileImportPath"] myFileName, myAppName = getAppNameAndFileName(item) baseObjectPath.buttons().firstWithPredicate_("name contains '"+ myAppName +"'").click() baseObjectPath.buttons().firstWithPredicate_("name contains 'Document and Sort Options'").click() myAppFileType = getFileTypeFromAppName(myAppName) baseObjectPath.menuItems()["Upload "+ myAppFileType +"..."].staticTexts()["Upload "+ myAppFileType +"..."].click() keyboard.typeString_withModifiersMask_("g", (kUIAShiftKeyMask|kUIACommandKeyMask)) keyboard.typeString_(myFileImportPath) target.processes()["Safari"].mainWindow().sheet().buttons()["Go"].click() target.processes()["Safari"].mainWindow().sheet().radioButtons()["list view"].click() target.processes()["Safari"].mainWindow().sheet().outlines()["list view"].visibleColumns()["Name"].textFields()[0].click() for i in target.processes()["Safari"].mainWindow().sheet().outlines()["list view"].visibleColumns()["Name"].textFields(): if i.value() == item: target.processes()["Safari"].mainWindow().sheet().buttons()["Choose"].click() break else: keyboard.typeVirtualKey_(kVK_DownArrow) time.sleep(2) if baseObjectPath.buttons()["Replace\n"]: baseObjectPath.buttons()["Replace\n"].click() timeout = 0 if baseObjectPath.staticTexts().firstWithPredicate_("value like '*Uploading*'"): while timeout < 120: if bool(baseObjectPath.staticTexts().firstWithPredicate_("value like '*Uploading*'").isValid()): time.sleep(1) timeout = timeout + 1 else: if timeout > 0: break if not baseObjectPath.staticTexts().firstWithPredicate_("name like '*"+ myFileName +"*'"): bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - "+ stepName bs_common.scriptFailedExit(msg) else: bs_common.writeResults(testcaseId, stepName, "PASS") msg = "PASS - "+ stepName bs_common.writeItemToLogFile(msg)
def iCloudSignIn(testcaseId): stepName = "icloud sign in" myConfigData = bs_common.getConfigurationData() if not target.processes()["Safari"].mainWindow().webViews()[0].textFields()["Apple ID"]: bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - bs_icloud.iCloudSignIn: failed to find Apple ID field" bs_common.scriptFailedExit(msg) try: target.processes()["Safari"].mainWindow().webViews()[0].textFields()["Apple ID"].click() keyboard.typeString_(myConfigData["iCloudAccount"]["userid"]) except: bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - bs_icloud.iCloudSignIn: failed to enter userid info" bs_common.scriptFailedExit(msg) try: target.processes()["Safari"].mainWindow().webViews()[0].textFields()["Password"].click() keyboard.typeString_(myConfigData["iCloudAccount"]["password"]) except: bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - bs_icloud.iCloudSignIn: failed to enter password info" bs_common.scriptFailedExit(msg) try: target.processes()["Safari"].mainWindow().webViews()[0].buttons().firstWithPredicate_( "helpTag like 'Sign In'" ).click() except: bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - bs_icloud.iCloudSignIn: failed to click sign in button" bs_common.scriptFailedExit(msg) time.sleep(1) if not target.processes()["Safari"].mainWindow().webViews()[0].images()["iCloud"]: bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - bs_icloud.iCloudSignIn: failed to find iCloud icon after sign in" bs_common.scriptFailedExit(msg) else: bs_common.writeResults(testcaseId, stepName, "PASS") msg = "PASS - " + stepName bs_common.writeItemToLogFile(msg)
def fileReplace(testcaseId, appName, inFileName, inNewFileName): stepName = "file replace - '"+ inFileName +"' with '"+ inNewFileName +"'" baseObjectPath = target.processes()["Safari"].mainWindow().webViews()[0].webViews().firstWithPredicate_("className like 'UIAWebView'") myConfigData = bs_common.getConfigurationData() myFileImportPath = myConfigData["fileImportPath"] baseObjectPath.buttons().firstWithPredicate_("name contains '"+ appName +"'").click() if not baseObjectPath.staticTexts().firstWithPredicate_("name like '*"+ inFileName +"*'"): bs_common.writeResults(testcaseId, stepName, "FAIL") msg = "FAIL - "+ stepName bs_common.scriptFailedExit(msg) baseObjectPath.buttons().firstWithPredicate_("name contains 'Document and Sort Options'").click() myAppFileType = getFileTypeFromAppName(myAppName) baseObjectPath.menuItems()["Upload "+ myAppFileType +"..."].staticTexts()["Upload "+ myAppFileType +"..."].click() keyboard.typeString_withModifiersMask_("g", (kUIAShiftKeyMask|kUIACommandKeyMask)) keyboard.typeString_(myFileImportPath) target.processes()["Safari"].mainWindow().sheet().buttons()["Go"].click() target.processes()["Safari"].mainWindow().sheet().radioButtons()["list view"].click() target.processes()["Safari"].mainWindow().sheet().outlines()["list view"].visibleColumns()["Name"].textFields()[0].click() for i in target.processes()["Safari"].mainWindow().sheet().outlines()["list view"].visibleColumns()["Name"].textFields(): if i.value() == item: target.processes()["Safari"].mainWindow().sheet().buttons()["Choose"].click() break else: keyboard.typeVirtualKey_(kVK_DownArrow) if baseObjectPath.buttons()["Replace\n"]: baseObjectPath.buttons()["Replace\n"].click()