def setHttpClient(self, httpClient): self.httpClient = http_request()
def initConfig(self): self.step = """ Step1 初始化运行上下文对象 initContext Step2 加载测试配置文件config,包含登陆信息、域名信息等 Step3 加载测试脚本的数据csv文件,并且生成测试用例,每一个用例包含一个context对象 Step4 根据生成测试用例调用runHttpTest Step5 根据csv文件对比返回结果 """ """ PySuit 1.技术方案选型 (python + unittest) 2.python,java 3.后端、前端 django + react 4.设计思路、思想 5.数据结构设计 6.流程图设计 """ """ runContext --- configData(global) prepareDataList(list obj for prepareData) currentContext(Context obj) --- prepareData httpResult configData httpClient httpResultList(list obj for httpResult) """ self.setLogger() # pylogger.setSreamHandler() logger.step(self.step) logger.step("初始化上下文对象....") logger.debug("创建全局runContext对象.....") self.runContext = runContext() if os.name == "nt": pass # os.path.dirname(self.script_dir) _path = os.path.join(os.path.abspath(self.script_dir), self.config_path) # print(os.path.dirname(self.script_dir)) logger.debug("初始化配置数据,生成configData对象..." + _path) self.runContext.configData = ConfigData(configPath=_path) logger.debug("加载配置文件成功..." + str(self.runContext.configData)) obs_path = os.path.abspath(self.script_file) if obs_path.endswith(".py"): obs_path = os.path.dirname(obs_path) _path = os.path.join(obs_path, self.testure_path) logger.step("加载csv数据文件,生成prepareDataList对象...." + _path) self.caseNum = PrepareData(csv_file_path=_path, index=0).caseNum self.runContext.prepareDataList = [] for i in range(self.caseNum): self.runContext.prepareDataList.append( PrepareData(csv_file_path=_path, index=i)) if not self.runContext.prepareDataList: logger.warn("csv数据为空....退出") return None logger.debug("加载csv数据文件成功...." + str(self.runContext.prepareDataList[0]) + "...") # self.runContext.prepareDataList = PrepareData(csv_file_path=_path, index=0) logger.debug("创建全局runContext对象成功.....包含csv数据、配置数据信息...") logger.debug("创建运行的http_request对象.....httpClient\n") self.httpClient = http_request()
def getHttpClient(self): if self.httpClient is None: self.httpClient = http_request() return self.httpClient