Esempio n. 1
0
def appRank():
    driver = webdriver.Remote('http://localhost:4723/wd/hub', getDesiredcaps())
    try:
        excelObj = ParseExcel()
        excelObj.loadWorkBook(dataFilePath)
        appRankSheet = excelObj.getSheetByName("应用")
        isExecute = excelObj.getColumn(appRankSheet, app_isExecute)
        appRankStringCols = excelObj.getColumn(appRankSheet, app_assertKeyWord)

        for idx, i in enumerate(isExecute[1:]):
            appRankString = appRankStringCols[idx + 1].value
            logger.info("----------应用排行“{}”开始执行".format(appRankString))
            if i.value == 'y':
                try:
                    AppRankAction.appRank(driver, appRankString)
                except Exception as e:
                    excelObj.writeCellCurrentTime(appRankSheet, rowNo=idx + 2, colsNo=app_runTime, style="red")
                    excelObj.writeCell(appRankSheet, "Faild", rowNo=idx + 2, colsNo=app_testResult, style="red")
                    logger.error(
                        "在“应用”模块,断言排列前三的APP“{}”失败\n异常信息:{}".format(appRankString, traceback.format_exc()))
                else:
                    excelObj.writeCellCurrentTime(appRankSheet, rowNo=idx + 2, colsNo=app_runTime, style="green")
                    excelObj.writeCell(appRankSheet, "Pass", rowNo=idx + 2, colsNo=app_testResult, style="green")
                    logger.info("在“应用”模块,断言排列前三的APP“{}”成功".format(appRankString))
            else:
                excelObj.writeCell(appRankSheet, "", rowNo=idx + 2, colsNo=app_runTime, )
                excelObj.writeCell(appRankSheet, "", rowNo=idx + 2, colsNo=app_testResult)
                logger.info("排列前三的用例“{}”被忽略执行".format(appRankString))
    except Exception as e:
        logger.error("数据驱动框架主程序发生异常\n异常信息:{}".format(traceback.format_exc()))
    finally:
        driver.quit()
Esempio n. 2
0
def searchApp():
    driver = webdriver.Remote('http://localhost:4723/wd/hub', getDesiredcaps())
    try:
        excelObj = ParseExcel()
        excelObj.loadWorkBook(dataFilePath)
        searchSheet = excelObj.getSheetByName("搜索")
        isExecute = excelObj.getColumn(searchSheet, search_isExecute)
        searchKeyWordCols = excelObj.getColumn(searchSheet,
                                               search_searchKeyWord)

        for idx, i in enumerate(isExecute[1:]):
            searchKeyWord = searchKeyWordCols[idx + 1].value
            logger.info("----------搜索APP“{}”开始执行".format(searchKeyWord))
            if i.value == 'y':
                searchRow = excelObj.getRow(searchSheet, idx + 2)
                assertKeyWord = searchRow[search_assertKeyWord - 1].value
                try:
                    SearchAction.search(driver, searchKeyWord, assertKeyWord)
                except Exception as e:
                    excelObj.writeCellCurrentTime(searchSheet,
                                                  rowNo=idx + 2,
                                                  colsNo=search_runTime,
                                                  style="red")
                    excelObj.writeCell(searchSheet,
                                       "Faild",
                                       rowNo=idx + 2,
                                       colsNo=search_testResult,
                                       style="red")
                    logger.error("搜索APP“{}”失败\n异常信息:{}".format(
                        searchKeyWord, traceback.format_exc()))
                else:
                    excelObj.writeCellCurrentTime(searchSheet,
                                                  rowNo=idx + 2,
                                                  colsNo=search_runTime,
                                                  style="green")
                    excelObj.writeCell(searchSheet,
                                       "Pass",
                                       rowNo=idx + 2,
                                       colsNo=search_testResult,
                                       style="green")
                    logger.info("搜索APP“{}”成功".format(searchKeyWord))
            else:
                excelObj.writeCell(
                    searchSheet,
                    "",
                    rowNo=idx + 2,
                    colsNo=search_runTime,
                )
                excelObj.writeCell(searchSheet,
                                   "",
                                   rowNo=idx + 2,
                                   colsNo=search_testResult)
                logger.info("搜索APP“{}”的用例被忽略执行".format(searchKeyWord))
    except Exception as e:
        logger.error("数据驱动框架主程序发生异常\n异常信息:{}" % (traceback.format_exc()))
    finally:
        driver.quit()
Esempio n. 3
0
def createContacts():
    try:
        excelObj = ParseExcel()
        excelObj.loadWorkBook(dataFilePath)
        userSheet = excelObj.getSheetByName("126账号")
        isExecute = excelObj.getColumn(userSheet, account_isExecute)
        userNameCols = excelObj.getColumn(userSheet, account_userName)
        for idx, i in enumerate(isExecute[1:]):
            if i.value == 'y':
                userRow = excelObj.getRow(userSheet, idx + 2)
                userName = userRow[account_userName - 1].value
                passWord = str(userRow[account_passWord - 1].value)
                contactSheetName = userRow[account_dataSourceSheetName -
                                           1].value

                driver = webdriver.Chrome()
                driver.maximize_window()
                driver.get("https://mail.126.com/")
                LoginAction.login(driver, userName, passWord)

                #断言前停顿3秒,防止页面跳转太快,断言失败
                time.sleep(3)
                try:
                    assert "收 信" in driver.page_source
                except Exception as e:
                    logger.error("用户“{}”登录后,断言页面关键字“退出”失败\n异常信息:{}".format(
                        userName, traceback.format_exc()))
                else:
                    logger.info("用户“{}”登录后,断言页面关键字“退出”成功".format(userName))

                contactSheet = excelObj.getSheetByName(contactSheetName)
                isExecuteAddContact = excelObj.getColumn(
                    contactSheet, contacts_isExecute)

                contactNum = 0
                successAddContactNum = 0
                coutactPersonNameCols = excelObj.getColumn(
                    contactSheet, contacts_contactPersonName)
                for id, j in enumerate(isExecuteAddContact[1:]):
                    if j.value == 'y':
                        contactNum += 1
                        contactRow = excelObj.getRow(contactSheet, id + 2)
                        coutactPersonName = coutactPersonNameCols[id + 1].value
                        coutactPersonEmail = contactRow[
                            contacts_contactPersonEmail - 1].value
                        isStar = contactRow[contacts_isStar - 1].value
                        countactPersonPhone = str(
                            contactRow[contacts_contactPersonPhone - 1].value)
                        countactPersonComment = contactRow[
                            contacts_contactPersonComment - 1].value
                        assertKeyWords = contactRow[contacts_assertKeyWords -
                                                    1].value

                        logger.info("**********开始添加联系人“%s”**********" %
                                    coutactPersonName)
                        AddContactAction.addContact(driver, coutactPersonName,
                                                    coutactPersonEmail, isStar,
                                                    countactPersonPhone,
                                                    countactPersonComment)
                        time.sleep(3)
                        try:
                            assert assertKeyWords in driver.page_source
                        except Exception as e:
                            excelObj.writeCell(contactSheet,
                                               "faild",
                                               rowNo=id + 2,
                                               colsNo=contacts_testResult,
                                               style="red")
                            excelObj.writeCellCurrentTime(
                                contactSheet,
                                rowNo=id + 2,
                                colsNo=contacts_runTime,
                                style="red")
                            logger.error("添加联系人“{}”失败\n异常信息:{}".format(
                                coutactPersonName, traceback.format_exc()))
                        else:
                            successAddContactNum += 1
                            excelObj.writeCell(contactSheet,
                                               "pass",
                                               rowNo=id + 2,
                                               colsNo=contacts_testResult,
                                               style="green")
                            excelObj.writeCellCurrentTime(
                                contactSheet,
                                rowNo=id + 2,
                                colsNo=contacts_runTime,
                                style="green")
                            logger.info(
                                "添加联系人“{}”成功".format(coutactPersonName))
                    else:
                        excelObj.writeCell(contactSheet,
                                           "",
                                           rowNo=id + 2,
                                           colsNo=contacts_runTime)
                        excelObj.writeCell(contactSheet,
                                           "",
                                           rowNo=id + 2,
                                           colsNo=contacts_testResult)
                        logger.info("联系人“{}”被忽略执行".format(
                            coutactPersonNameCols[idx + 1].value))
                driver.quit()
                if contactNum == successAddContactNum:
                    excelObj.writeCell(userSheet,
                                       "Pass",
                                       rowNo=idx + 2,
                                       colsNo=account_testResult,
                                       style="green")
                else:
                    excelObj.writeCell(userSheet,
                                       "Faild",
                                       rowNo=idx + 2,
                                       colsNo=account_testResult,
                                       style="red")
            else:
                excelObj.writeCell(userSheet,
                                   "",
                                   rowNo=idx + 2,
                                   colsNo=account_testResult)
                logger.info("账号“{}”被忽略执行".format(userNameCols[idx + 1].value))
    except Exception as e:
        logger.error("数据驱动框架主程序发生异常\n异常信息:{}".format(traceback.format_exc()))