Beispiel #1
0
 def __runTestPlan(self, driver):
     logger = self.createLoggerObj()  # 创建该场景日志对象
     screenShotDir = self.createScreenShotDir()  # 创建截图目录
     result = RunResult.PASS
     err = ''
     putSystemLog('Start.', logger, True, RunStatus.START, result, True,
                  '开始')
     try:
         for index, sc in enumerate(self.testPlan):
             Scene(driver, sc, logger, screenShotDir, index).run()
     except Exception as e:
         result = RunResult.ERROR
         err = e
     finally:
         putSystemLog('End.%s' % (err), logger, True, RunStatus.END, result,
                      True, '结束')
         putSystemLog(
             getRecordTxt(manageLogRecord(operator='get'), type='all'),
             logger)  # 写入统计结果
Beispiel #2
0
    def run(self):
        logger = self.logger  # 日志对象
        runTime = settings.PARAMETERIZATION['runTime']  # 单个场景运行次数
        runModel = settings.RUNMODEL  # 运行模式

        manageLogRecord(self.sceneId, operator='create')  # 创建统计记录
        self.importTestCase(self.testCaseList)  # 引入测试用例
        if len(self.testClassList) == 0:
            putSystemLog('[ERROR-1009]:场景%d中不包含任何测试用例' % self.sceneId, logger,
                         False, RunStatus.RUNNING, RunResult.ERROR, True)
            return

        if runModel == RunModel.TESTING:
            putSystemLog('启动测试模式下,不会真正运行测试用例的脚本!', logger)

        sceneDes = '场景<%d>开始.' % (
            self.sceneId) if runTime == 1 else '场景<%d>开始.该场景共运行%d次' % (
                self.sceneId, runTime)
        putSystemLog(sceneDes, logger)
        sTime = time()
        for x in range(runTime):
            try:
                if runTime != 1:
                    putSystemLog('第%d次运行:' % (x + 1), logger)
                driver = self.getDriverObj()  # 获取一个浏览器驱动
                putSystemLog('%s浏览器启动成功.' % (driver.name), logger)
                putSystemLog('开始加载脚本...', logger)
                suite = self.suiteFactory(x, driver)  # 创建并配置测试单元套件
                putSystemLog('脚本加载完成...', logger)
                if runModel != RunModel.TESTING and len(suite._tests) > 0:
                    TextTestRunner().run(suite)
            except Exception as e:
                putSystemLog('[ERROR-1012]:测试套件运行失败引发的异常.%s' % e, logger, True,
                             RunStatus.RUNNING, RunResult.ERROR, True, '异常')
            finally:
                self.quitDriver(driver)
        eTime = time()
        putSystemLog('场景<%d>结束.用时:%.3fs.' % (self.sceneId, eTime - sTime),
                     logger)
        putSystemLog(
            getRecordTxt(manageLogRecord(self.sceneId, operator='get')),
            logger)
        putSystemLog('-' * 40, logger)