class HandleDb: '''数据库操作流程 1、初始化连接对象db_name,pymysql.connect() 2、使用cursor()方法获取操作游标,dbname.cursor() 3、使用execute方法执行SQL语句,dbname.execute() 4、使用 fetchone() 方法获取一条数据 或 使用 fetchall() 方法获取多条数据 5、使用close 关闭数据库连接,dbname.close() ''' HI = Handle_init() def __init__(self, option, section): '''option 参数为ini文件中的选项名,section为ini文件中test名''' db_config = json.loads(self.HI.read_ini(option, section)) db = pymysql.connect(host=db_config["host"], port=db_config["port"], user=db_config["user"], password=db_config["password"], database=db_config["database"], charset='utf8') self.cursor = db.cursor() def get_one(self, sql): '''根据传入的sql语句,读取数据为单字段、单条数据''' self.cursor.execute(sql) return self.cursor.fetchone() def get_all(self, sql): '''根据传入的sql语句,读取数据为单字段、单条数据''' self.cursor.execute(sql) return self.cursor.fetchall() def db_close(self): self.db.close()
def get_token(self): token = Handle_init().read_token("token", "login", "test2") tt = str(int(time.time() * 1000)) text = token + '&' + tt # print("加密前", text) dt = self.encrypt_data(text) return dt
def my_case(self,case_data): print(case_data) cookie=None header=None body=None if case_data[2] == 'yes': if hd_ini.read_ini("host", "test2") is not None: host=eval(hd_ini.read_ini("host","test2")) print("host",type(host)) path=case_data[3] url=host+path print("url:",url) else: print("本条case不执行") return if case_data[7] !=None: print(case_data[7]) header=eval(case_data[7]) print("header",type(header)) if 'token' in header.keys() : new_token=EncryptionData().get_token() header=Handel_json().change_json_value(header,'token',new_token) else: print("header为空") if case_data[4] == "post": print("这个是post请求") body=case_data[5] if case_data[6] != None: cookie=eval(case_data[6]) # if case_data[7] !=None: # header=eval(case_data[7]) print("header", type(header)) print("body", type(body)) print(body,header,cookie) res = self.re.send_post(url=url, data=body, cookie=cookie, header=header) if res.text !="" and case_data[1]=="密码登录-正确": re_response = json.loads(res.text) # print("reeee",type(re_response),re_response["status"]) if re_response["status"] == "success": print(111111111111) Handle_init().write_ini("login",res.text,section="test2") print(2222222222222) else: return elif res.text !="": re_response = json.loads(res.text) assert re_response['status']=='success' assert res.status_code==200 row=int(case_data[0][-3])*100+int(case_data[0][-2])*10+int(case_data[0][-1])+1 print("-------------------------------",row) Handle_Excel().excel_write_data(row=row,cols=11,value=res.text) print(res.text) elif case_data[4] == 'get': print("这个是get请求") get_params=eval(case_data[5]) # print(header) res = BaseRquest().send_get(url=url, data=get_params, cookies=cookie, headers=header) if res.text !="": re_response = json.loads(res.text) assert re_response['status'] == "success" else: return assert res.status_code==200 row=int(case_data[0][-3])*100+int(case_data[0][-2])*10+int(case_data[0][-1])+1 print("-------------------------------",row) Handle_Excel().excel_write_data(row=row,cols=11,value=res.text) print(res.text)
# coding=utf-8 # import unittest import pytest # import pytest_html import json # import os from Handle.handle_json import Handel_json from Handle.handle_init import Handle_init from Handle.handle_excel import Handle_Excel from Base.base_request import BaseRquest from Handle.DesData import EncryptionData hd_ini=Handle_init() hd_ex = Handle_Excel() data=hd_ex.liat_totuple(1) @pytest.mark.parametrize('case_data1',data) class Test_pytest(object): re=BaseRquest() @pytest.mark.flaky(returns=1) def test_runcase(self,case_data1): self.my_case(case_data1) def my_case(self,case_data): print(case_data) cookie=None header=None body=None if case_data[2] == 'yes': if hd_ini.read_ini("host", "test2") is not None: host=eval(hd_ini.read_ini("host","test2"))
"""""" res = requests.post(url=url, data=data, cookies=cookie, headers=header) return res def send_get(self, url, data, cookies=None, headers=None): """""" res = requests.get(url=url, params=data, cookies=cookies, headers=headers) return res if __name__ == '__main__': re = BaseRquest() HI = Handle_init() host = HI.read_ini(key="host", node="test2") host = eval(host) print(host is not None) print("host", type(host), host) url1 = "http://mgtportal-tc-uat.mobje.faw-vw.com/tsl/api/" url2 = "user/user/enrollee/login/password" # url=.join(host,url2) url = '{}{}'.format(host, url2) print("url", type(url), url) print(sys.path) # header={'Content-Type': 'application/json;charset=utf-8'} # cookie=None # data={"phone":"3b8olyAWSNaWVpXe0VFqeg==","password":"******"} # data=json.dumps(data) # print(type(data))