1、模拟登陆公司某系统,返回203错误码,并提示:please login first,是因为cookie不正确,刚开始使用如下代码获取cookie:
def getCookie(self):
cookie = requests.cookies.RequestsCookieJar()
cookie.set('cookie-name','cookie-value')
self.session.cookies.update(cookie)
dic_cookie = self.session.cookies.get_dict()
print (cookie)
return dic_cookie
#return json.dumps(self.session.cookies.get_dict())
后发现返回值和录制公司项目的报文中cookie的格式不同:
故猜测,可能不同系统要求的cookie格式不尽相同,为保证代码稳定测试通过,最好还是按照被测系统的格式来模拟,故代码修改为如下:
def getCookie(self):
cookie = requests.cookies.RequestsCookieJar()
cookie.set('cookie-name','cookie-value')
self.session.cookies.update(cookie)
dic_cookie = self.session.cookies.get_dict()
cookie ="clientTimezoneId="+dic_cookie.get("clientTimezoneId")\
+"; fwkappSkinType="+dic_cookie.get("fwkappSkinType")\
+"; JSESSIONID="+dic_cookie.get("JSESSIONID")\
+"; CLIENTID="+dic_cookie['CLIENTID']
print (cookie)
return cookie
修改后,http请求返回码200
2、请求返回错误码403,按照本系统是因为header中需要有roarand随机数,故需要再发送请求前加上此信息:
headers["roarand"]=token.text
print(str(headers))
resp = session.delete(url, data=data, headers=headers, verify=False)
上述请求是忽略SSL证书的请求方式,后续继续研究如何在python中插入系统SSL证书