回归测试的最后努力
#coding=utf-8 import requests import json import unittest import random import time def fmat(k): seq = ''.join([str(i) for i in random.sample(range(0,9),k)]) return seq class MyTest(unittest.TestCase): def setUp(self): print "start test" def tearDown(self): print "end test" class TestFat(MyTest): @staticmethod def test_3010(): url = "http://10.22.60.9:28002/3010" headers = {'rpc_version':'1.0','rpc_group':'800','Content-Type':'application/json'} #seq = ''.join([str(i) for i in random.sample(range(0,9),9)]) #now = time.strftime("%Y%m%d%H%M%S") seq = '20180529000'+ fmat(9) req = {"comm_req":{"busi_seq":seq,"busi_org_id": "2086","trxn_seq":seq,"caller_system": "000","channel_id": "107","initiator_date": "20180621","busi_branch_id": "3480","over_time": "10000","trans_time": "054653","initiator_system": "800","busi_teller_id": "99S10201","sponsor_system": "114","trans_date": "20180523"}} diy = {"input":{ "list03":[ { "main_info_ind":"Y", "contact_method":"10", "contact_content":"631"+fmat(9), "country":"VN" }, { "main_info_ind":"N", "contact_method":"40", "contact_content":"[email protected]", "country":"VN" } ], "list02":[{ "main_info_ind":"Y", "address1":"gzszns", "address_type":"A10", "country":"VN" }], "birth_country":"VN", "list05":[], "list04":[], "birth_date":"19991215", "list07":[], "list06":[{ "declare_ind":"Y", "country_code":"VN" }], "list08":[], "cust_name":"ryana", "nationality":"VN", "resident_country":"VN", "residence_status":"Y", "gender":"F", "cust_service_level":"B", "cust_status":"1", "list01":[{ "doc_no":fmat(6), "doc_status":"1", "main_info_ind":"Y", "doc_type":"10", "doc_effe_date":"20170101" }], "staff_ind":"N", "combine_stmt_ind":"Y" }, "sys":{ "prcscd":"3010" }} req.update(diy) r = requests.post(url = url,json = req,headers = headers) print req print seq print r.status_code #print 'aa',type(r.text),type(r.content) #aa <type 'unicode'> <type 'str'> #assertIn(u'"status":"S"',r.text) d = json.loads(r.content) #global custNo custNo = d['output']['cust_no'] print custNo return custNo @staticmethod def test_4000_lite(custNo): url = "http://10.22.60.9:28002/4000" headers = {'rpc_version':'1.0','rpc_group':'800','Content-Type':'application/json'} seq = '20180529000'+ fmat(9) req = {"comm_req":{"busi_seq": seq,"busi_org_id": "2086","trxn_seq": seq,"caller_system": "000","channel_id": "107","initiator_date": "20180621","busi_branch_id": "3480","over_time": "10000","trans_time": "054653","initiator_system": "800","busi_teller_id": "99S10201","sponsor_system": "114","trans_date": "20180523"}} diy = { "input": { "new_open_acct_ind": "Y", "prod_id": "FA01", "zero_amt_open_acct_ind": "Y", "self_opt_number_ind": "0", "cust_no": custNo, "ccy_code": "PHP", "acct_valid_date": "20240630", "acct_type": "D02", "acct_no": "", "acct_withdrawal_cond": "P", "card_no": "", "joint_acct_ind": "N", "agent_ind": "N", "cash_exch_price_ind": "E" }, "sys": { "prcscd": "4000" }} req.update(diy) r = requests.post(url = url,json = req,headers = headers) print req print r.text print r.status_code #assertIn(u'"status":"S"',r.text) cnt = r.content cnt = cnt.replace('null','None') d = json.loads(cnt) lite_acctNo = d['output']['acct_no'] print lite_acctNo return lite_acctNo @staticmethod def test_5900(custNo,lite_acctNo): url = "http://10.22.60.9:28002/5900" headers = {'rpc_version':'1.0','rpc_group':'800','Content-Type':'application/json'} seq = '20180529000'+ fmat(9) req = {"comm_req":{"busi_seq": seq,"busi_org_id": "2086","trxn_seq": seq,"caller_system": "000","channel_id": "107","initiator_date": "20180621","busi_branch_id": "3480","over_time": "10000","trans_time": "054653","initiator_system": "800","busi_teller_id": "99S10201","sponsor_system": "114","trans_date": "20180523"}} diy = { "input": { "cust_no":custNo, "ccy_code":"PHP", "self_opt_number_ind":"0", "prod_id":"lite", "layout_id":"1", "level_id":"lite", "customize_ind":"N", "cust_shortname":"Miki", "plan_emboss_card_date":"", "acct_no":lite_acctNo, "address":"test" }, "sys": { "country": "en_US", "prcscd": "5900" }} req.update(diy) r = requests.post(url = url,json = req,headers = headers) print req print r.text print r.status_code #assertIn(u'"status":"S"',r.text) d = json.loads(r.content) cardNo = r.text['output']['card_no'] return cardNo if __name__=="__main__": #global custNo #unittest.main() custNo = TestFat.test_3010() print 'hi',custNo lite_acctNo = TestFat.test_4000_lite(custNo) print 'hey',lite_acctNo cardNo = TestFat.test_5900(custNo,lite_acctNo) print 'hello',cardNo