风评接口测试
2019-01-28 16:15 改改~_~ 阅读(441) 评论(0) 编辑 收藏 举报风险评测页面的接口测试
一、手动测试流程
1、登录系统
2、答完8道题后点击提交
二、接口测试:
返回的信息是嵌套的,调用接口一直返回200,数据并没有发生更改
学习 Selenium的可关注下 解决动态渲染页面元素定位问题
pc端的风评页面就属于这类问题
import requests import json import unittest import HTMLTestRunner telphone =18200717087 #参数化手机号码(#67) ur1='http://118.178.247.--:8081/systLogonUser/adminLogon.do' headers = {'Content-Type':'application/x-www-form-urlencoded','Referer':'118.178.247.67'} data = { 'userName':telphone , 'pwd': '123456Aa', 'verifyCode': 121 } print(type(data)) r = requests.post(url=ur1,data=data,headers=headers) repones = r.text print('1',r.text) print('2',r.status_code) print('3',r.text[12:28]) ''' {"userOptions":[{"questionNo":"RISK0","userOption":"3"},{"questionNo":"RISK1","userOption":"3"},{"questionNo":"RISK2","userOption":"3"},{"questionNo":"RISK3","userOption":"3"},{"questionNo":"RISK4","userOption":"3"},{"questionNo":"RISK5","userOption":"3"},{"questionNo":"RISK6","userOption":"3"},{"questionNo":"RISK7","userOption":"3"}],"questionType":"RISK"} {"userOptions":[{"questionNo":"RISK0","userOption":"3"},{"questionNo":"RISK1","userOption":"3"},{"questionNo":"RISK2","userOption":"3"},{"questionNo":"RISK3","userOption":"3"},{"questionNo":"RISK4","userOption":"3"},{"questionNo":"RISK5","userOption":"3"},{"questionNo":"RISK6","userOption":"3"},{"questionNo":"RISK7","userOption":"3"}],"questionType":"RISK"} ''' url2='http://118.178.247.67:8081/question/list/present.do' headers2 = {'Content-Type':'application/x-www-form-urlencoded','Referer':'118.178.247.67'} # jsonString={"userOptions":[{"questionNo":"RISK0","userOption":"3"},{"questionNo":"RISK1","userOption":"3"},{"questionNo":"RISK2","userOption":"3"},{"questionNo":"RISK3","userOption":"3"},{"questionNo":"RISK4","userOption":"3"},{"questionNo":"RISK5","userOption":"3"},{"questionNo":"RISK6","userOption":"3"},{"questionNo":"RISK7","userOption":"3"}],"questionType":"RISK"} # print('class:dict:',type(jsonString)) jsonString1 = json.dumps({"userOptions":[{"questionNo":"RISK0","userOption":"0"}, {"questionNo":"RISK1","userOption":"0"}, {"questionNo":"RISK2","userOption":"0"}, {"questionNo":"RISK3","userOption":"0"}, {"questionNo":"RISK4","userOption":"0"}, {"questionNo":"RISK5","userOption":"0"}, {"questionNo":"RISK6","userOption":"0"}, {"questionNo":"RISK7","userOption":"0"}],"questionType":"RISK"}, indent=4) print('输出jsonString1:',jsonString1) # userOptionslist=[{"questionNo":"RISK0","userOption":"0"},{"questionNo":"RISK1","userOption":"0"},{"questionNo":"RISK2","userOption":"0"},{"questionNo":"RISK3","userOption":"0"},{"questionNo":"RISK4","userOption":"0"},{"questionNo":"RISK5","userOption":"0"},{"questionNo":"RISK6","userOption":"0"},{"questionNo":"RISK7","userOption":"0"}] # userOptionslist='[{"questionNo":"RISK0","userOption":"0"},{"questionNo":"RISK1","userOption":"0"},{"questionNo":"RISK2","userOption":"0"},{"questionNo":"RISK3","userOption":"0"},{"questionNo":"RISK4","userOption":"0"},{"questionNo":"RISK5","userOption":"0"},{"questionNo":"RISK6","userOption":"0"},{"questionNo":"RISK7","userOption":"0"}]' data2 = { # 'jsonString':jsonString1, # # "jsonString":{'userOptions':'{0}'.format(userOptionslist),'questionType':'RISK'}, # 'jsonString':'{"userOptions":[{"questionNo":"RISK0","userOption":"0"},{"questionNo":"RISK1","userOption":"0"},{"questionNo":"RISK2","userOption":"0"},{"questionNo":"RISK3","userOption":"0"},{"questionNo":"RISK4","userOption":"0"},{"questionNo":"RISK5","userOption":"0"},{"questionNo":"RISK6","userOption":"0"},{"questionNo":"RISK7","userOption":"0"}],"questionType":"RISK"}', # 'userOptions':userOptionslist, 'jsonString':{'userOptions':[{"questionNo":"RISK0","userOption":"0"}, {"questionNo":"RISK1","userOption":"0"}, {"questionNo":"RISK2","userOption":"0"}, {"questionNo":"RISK3","userOption":"0"}, {"questionNo":"RISK4","userOption":"0"}, {"questionNo":"RISK5","userOption":"0"}, {"questionNo":"RISK6","userOption":"0"}, {"questionNo":"RISK7","userOption":"0"}],"questionType":"RISK"}, # 'jsonString':{'userOptions':[{'questionNo':'RISK0','userOption':0}, # {'questionNo':'RISK1','userOption':0}, # {'questionNo':'RISK2','userOption':0}, # {'questionNo':'RISK3','userOption':0}, # {'questionNo':'RISK4','userOption':0}, # {'questionNo':'RISK5','userOption':0}, # {'questionNo':'RISK6','userOption':0}, # {'questionNo':'RISK7','userOption':0}],'questionType':'RISK'}, # 'jsonString':{'userOptions':[{'questionNo':'RISK0','userOption':0}, # {'questionNo':'RISK1','userOption':0}, # {'questionNo':'RISK2','userOption':0}, # {'questionNo':'RISK3','userOption':0}, # {'questionNo':'RISK4','userOption':0}, # {'questionNo':'RISK5','userOption':0}, # {'questionNo':'RISK6','userOption':0}, # {'questionNo':'RISK7','userOption':0}],'questionType':'RISK'}, # 'jsonString':{"userOptions":[{"questionNo":"RISK0","userOption":0},{"questionNo":"RISK1","userOption":0},{"questionNo":"RISK2","userOption":0},{"questionNo":"RISK3","userOption":0},{"questionNo":"RISK4","userOption":0},{"questionNo":"RISK5","userOption":0},{"questionNo":"RISK6","userOption":0},{"questionNo":"RISK7","userOption":0}],"questionType":"RISK"}, '_': '1547535857821' } print(type(data2)) s=requests.session() r=s.get(url=url2,data=data2,headers=headers2) # r = requests.post(url=url2,data=data2,headers=headers2) # r = requests.post(url2, data=jsonString) repones = r.text print('11',repones) print('22:',r.status_code) # url3='http://118.178.247.67:8081/personal/system/personal/safetyData.do' # headers3 = {'Content-Type':'application/x-www-form-urlencoded','Referer':'118.178.247.67'} # data3 = { # # } # r = requests.post(url=url3,data=data3,headers=headers3) # repones = r.text # print('111',r.text) # print('222',r.status_code)
2019-05-06风险评测接口调不通的解决
原因:虽然登录了但是没有传递session,解决方法如下:
1_login.py
import this import requests import json import unittest import HTMLTestRunner yuming='http://test-a.==' '''登录''' s=requests.session() #session的设置 def login(phone): headers54 = {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Referer': '{0}/systLogonUser/login.do'.format(yuming)} url54='{0}/systLogonUser/adminLogon.do'.format(yuming) data54 ={ 'userName':phone, 'pwd':'123456Aa', 'verifyCode':121 } r=s.post(url=url54,data=data54,headers=headers54) login_response=r.text login_statuscode=r.status_code print(login_statuscode, login_response, s) return login_statuscode,login_response,s login(18200717108)
6_riskdo.py
import requests import json import unittest import HTMLTestRunner '''风险评测''' f=__import__('1_login') f.login(18200717108) #调用登录模块 def riskdo(phone): headers = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Referer': '{0}/login.do'.format(f.yuming) } url = '{0}/question/list/present.do'.format(f.yuming) data = { 'jsonString': '{"userOptions":[{"questionNo":"RISK0","userOption":"0"},{"questionNo":"RISK1","userOption":"0"},{"questionNo":"RISK2","userOption":"0"},{"questionNo":"RISK3","userOption":"0"},{"questionNo":"RISK4","userOption":"0"},{"questionNo":"RISK5","userOption":"0"},{"questionNo":"RISK6","userOption":"0"},{"questionNo":"RISK7","userOption":"0"}],"questionType":"RISK"}', '_': '1556173375897' } r = f.s.post(url=url, data=data, headers=headers) print(r.status_code) print(r.text) riskdo(18200717108)
至此,登录,风评、充值、连接oracle设置CA认证都可以python接口实现了,开户的可以通过python+selenium实现,但是浏览器似乎有时有问题(安全插件的安装)。。。