Exemple #1
0
 def _get_log_path(self):
     config_json = runArg().log_filepath
     (logfile_path, logfile_name) = os.path.split(config_json)
     if logfile_path and logfile_name:
         isExists = os.path.exists(logfile_path)
         if not isExists:
             os.makedirs(logfile_path)
     return config_json
Exemple #2
0
class CommandLine(object):
    command_list=[
        ["h","help","show help"]
      ]# 短命令超过1个字符 getopt会出错,暂时遗留问题
    cps=command_parser()
    rarg=runArg()
    def __init__(self,argv):
      # LoggerBaseConfig()._initlogger()
      # self.logger=logging.getLogger("BearSki.commondline")
      for cmd in self.command_list:
        help_cmd=base_command(cmd[0],cmd[1],cmd[2])
        self.cps.add_argument(help_cmd)
      self._run(argv)
      
    def _run(self,argv):
      # shot_cmd = self.cps.get_shot_arg()
      # long_cmd = self.cps.get_long_arg()
      # arguments=argv[1:]
      # if len(arguments)<2:
      #   arguments.append(" ") # 命令行参数为空
      # try:
      #     opts, args = getopt.getopt(arguments,shot_cmd,long_cmd)
      # except getopt.GetoptError as e:
      #     print (e)
      #     # self.logger.error(e)
      #     sys.exit(2)
      # for opt, arg in opts:
      #     if opt in ('-h',"--help"):
      #       self._command_h()
      #       sys.exit()
      #     elif opt in ("-f", "--configfile"):
      #       self.rarg.config_path=arg.lstrip() #.lstrip() 去掉多余的空格
      #       self._command_f(arg.lstrip())
      #       break
      #     elif opt in ("-r","--reportmode"):
      #       self.rarg.report_mode = arg.lstrip()
      #     elif opt in ("-m","--mode"):
      #       self.rarg.mode = arg.lstrip()
      #     elif opt in ("-p","--casepath"):
      #       self.rarg.case_path=arg.lstrip()
      #     elif opt in ("-n","--casename"):
      #       self.rarg.case_name = arg.lstrip()
      #     elif opt in ("-o","--outputpath"):
      #       self.rarg.report_path = arg.lstrip()
      self._command_run(argv[1:])
    
    def _command_h(self):
      self.cps.print_help_message()
          
    def _command_f(self,filepath):
       f= open(filepath)
       conf=json.load(f)
       self.rarg.setValueFromJson(conf)
       #print(self.rarg.getJsonString())

    def _command_run(self,commond):

      SkiTestFactory().run(self.rarg,commond)
Exemple #3
0
 def __init__(self, name=''):
     self.logger = logging.getLogger(name)
     self.loglevel = get_level()
     self.logger.setLevel(self.loglevel)
     fmt = logging.Formatter(
         '[%(asctime)s] [%(levelname)s] [%(name)s] %(message)s')
     # 设置CMD日志
     sh = logging.StreamHandler()
     sh.setFormatter(fmt)
     sh.setLevel(self.loglevel)
     # 由于logging 的filehandler 与 stream 不能共存所以需要根据不同模式设置日志输出方式。
     if runArg().report_mode == 'html':
         logging.basicConfig(
             stream=rut.stdout_redirector,
             format='[%(asctime)s] [%(levelname)s] [%(name)s] %(message)s')
     if runArg().report_mode == 'text':
         # 设置文件日志
         #logfile_path=SkiGlobalData().get_global_data("logfile_path")
         logfile_path = get_log_path()
         fh = logging.FileHandler(logfile_path)
         fh.setFormatter(fmt)
         fh.setLevel(self.loglevel)
         self.logger.addHandler(sh)
         self.logger.addHandler(fh)
Exemple #4
0
 def __init__(self, har_file_path, filter_str=None, exclude_str=None):
     self.har_file_path = har_file_path
     self.filter_str = filter_str
     self.exclude_str = exclude_str or ""
     self._openfiles()
     self.rArg=runArg()
Exemple #5
0
    def test_Argments(self):

        runArg()
Exemple #6
0
 def __init__(self):
     self.rags = runArg()
Exemple #7
0
 def _get_level(self):
     reloglevel = self._get_logging_level(runArg().log_level)
     return reloglevel
Exemple #8
0
        # 执行单条用例,顺序为 目录名 文件名 类名 方法名 中间"." 间隔 例如:"testcase.debug_test_user.TestUserLogin.test_login"
        suite = unittest.TestLoader().loadTestsFromName(dirpath)
        test_cases.addTests(suite)
        return test_cases

    else:
        suites = unittest.defaultTestLoader.discover(dirpath,
                                                     name + '*.py',
                                                     top_level_dir=dirpath)
        for suite in suites:
            test_cases.addTests(suite)
        return test_cases


if __name__ == '__main__':
    rag = runArg()
    logger = SkiLogger('runtestt')
    report_type = 'html'
    isrunonecase = 'False'
    casepath = 'utest.testcase.test_CommonData'
    casename = 'test_'
    cases = get_test_cases(casepath, casename, isrunonecase)
    now = time.strftime("%Y-%m-%d %H_%M_%S")  # 报告生成时间
    test_reports_address = './utest/report'  # 测试报告存放位置
    filename = './utest/report/' + now + 'report.html'  # 设置报告文件名

    if (report_type == 'text'):
        logger.info("开始执行测试,报告输出模式text")
        runner = unittest.TextTestRunner()
        runner.run(cases)
    elif (report_type == 'html'):