def go_on_run(self, i): #运行总函数 # rows_count = GetData().get_case_lines() # for i in range(1,rows_count): is_run = GetData().get_is_run(i) if is_run: url = Get_Token().get_url(client_type=GetData().get_client_type(i), api=GetData().get_api(i)) method = GetData().get_request_method(i) case_name = GetData().get_case_name(i) data = GetData().get_data(i) # print(url,data,method) data = json.loads(data) header = Get_Token().get_header(i) expect = GetData().get_expect_data(i) depend_case = GetData().is_depend(i) if depend_case != None: #获取响应数据 self.depend = DependdentData(depend_case) depend_response_data = self.depend.get_data_for_key(i) #获取依赖的key depend_key = GetData().get_depend_field(int(depend_case)) data[depend_key] = depend_response_data RunMethod().run_main(method, url, header, data) res = RunMethod().run_main(method, url, header, data) if CommonUtil().is_content(expect, res.text): GetData().write_result(i, '测试通过') self.pass_count.append(i) else: GetData().write_result(i, res.text) self.fail_count.append(i) return [i, case_name, method, url, data, expect, res.text]
def run_dependdent(self): row_num = OperationExcel().get_row_num(self.case_id) url = Get_Token().get_url( client_type=GetData().get_client_type(row_num), api=GetData().get_api(row_num)) method = GetData().get_request_method(row_num) data = GetData().get_data(row_num) data = json.loads(data) header = Get_Token().get_header(row_num) res = RunMethod().run_main(method, url, header, data) return res.json()
class AllApi(object): def __init__(self): self.run = RunMethod() self.read = ReadYaml() self.logger = get_log() # 接口请求封装 def send_request(self, api_name): try: # 获取接口请求参数 method = self.read.get_method(api_name) url = self.read.get_url(api_name) headers = self.read.get_headers(api_name) # 区分Get和Post方法 if method == "Get": response = self.run.run_main(method, url, headers) elif method == "Post": data = self.read.get_data(api_name) response = self.run.run_main(method, url, headers, data) # 针对登录接口,把token值写到配置文件access_token.yml中,供其他接口调用 if "v1/login" in url: write_token(response) print(json.dumps(response, indent=2, ensure_ascii=False, sort_keys=False)) # print(response["result"]["wallets"][0]["coin"]) return response except Exception as e: self.logger.info("接口访问出错啦~ %s" % e) # 获取预期结果,方便断言时直接使用 def get_expect(self, api_name): try: # 获取配置文件中的预期结果 expect = self.read.get_expected(api_name) # print(expect) return expect except Exception as e: self.logger.info("获取预期结果出错啦~ %s" % e)
def get_response_list(self, url, json_key): run = RunMethod() return run.get_response_value(url, json_key, "data", "projectName")
def __init__(self): self.run = RunMethod() self.read = ReadYaml() self.logger = get_log()
def read_token(): curPath = os.path.abspath(os.path.dirname(__file__)) path = os.path.abspath( os.path.dirname(curPath) + os.path.sep + "configs/access_token.yml") # path = os.path.dirname(os.path.abspath('.'))+'/data/access_token.yml' file = open(path) read = file.read() load = yaml.load(read, Loader=yaml.FullLoader) file.close() return load['access_token'] if __name__ == "__main__": run = RunMethod() url = "https://xxx/v1/login/" data = { "phone_country": "86", "phone_number": "12100766832", "password": "******", "device_id": "FE6C89E6-1B18-43C3-B9B9-CA2D773D64D8", "device_name": "Iphone8plus", "device_pubkey": "3tVcBc1K0QmYnkwI7z7+s3ZL4kx0kYmEYERvMDZU/0k=" } headers = { "Content-Type": "application/x-www-form-urlencoded", "Authorization": "Basic S01IeWFuMnF3SUY3RGI2eDhvdVNDQ0hrekVBUlRHbFE6aElhbU1ncnJZcVlOeEJxS2Z4Ykh2Uk9TZ0N0M1loc2o=" }
def get_response_list(self, url, json_key): run = RunMethod() return run.get_response_value(url, json_key, "clientNumber")
def get_response_list(self, url, json_key): run = RunMethod() response_list = run.get_response_value(url, json_key, "list", "title") return response_list
def get_info(self): url = Common(self.driver).get_yaml_data('UrlData', 'personal_info_url') run = RunMethod() operName, experience, custCount, operScore = run.get_userinfo(url) return operName, experience, custCount, operScore
def get_response_list(self, url, json_key): run = RunMethod() response_list = run.get_response_value(url, json_key, "data", "replyContent") return response_list
def __int__(self): self.run_method = RunMethod() self.data = GetData() self.com_util = CommonUtil()
def get_response_list(self, url, json_key): run = RunMethod() return run.get_response_value(url, json_key, "list", "boroughName")