是有這麼一個要求,須要用戶請求一次接口,會推給他他們一次實驗結果,次數太少沒法看到本身設置的機率是否符合。內容十分簡單,不復雜,可是當任務並行的時候,怎麼才能保證質量又保證測試範圍和效率,纔是首要解決的問題,因此咱們並非須要多麼高大上的測試代碼,怎麼簡單怎麼來。python
代碼很簡單,咱們在測試過程當中首先要保證正確性,其次是提升效率,我在其餘項目過程當中執行了幾回腳本,最後發現比率沒問題,測試前還跟開發review了一下腳本和思路,也運行過1000 5000 10000次,比率都是符合要求的。後來,我在和開發溝經過程中還了解到了random的seed的做用,seed不能被單獨調用,當seed後面數值一致的時候,纔會獲取兩組相同的隨機數。這樣能夠控制實驗變量,這樣更能設計實驗更準確,更具備實驗指導性。json
#coding=utf-8 import requests import json import time def testExpClassAB(ii): # 定義登陸獲取cookie # post請求方法 login_url = "https://loginXXXXXXXXXXXXXXXXXXXXX" #登陸接口地址 api_url = "https://VVVVVVVVVVVVV" #被測接口鏈接 data_login = {"sign": "XXXXXXX", "pwd": "XXXXX", "vcode": 0} login_re = requests.post(login_url, data=data_login) login_cookie = login_re.cookies data_expclass = {\ "step": 3, # 步驟 "gradeId": 8, # 年級 "subjectId": 2, # 學科 "provinceId": 1} # 省市 i = 1 flag_407 = 0.0 flag_408 = 0.0 flag_4 = 0.0 while i <= ii: expclass = requests.post(api_url, data=data_expclass, cookies=login_cookie) re_content = json.loads(expclass.content) print("第"+str(i)+"條:"+str(re_content['data'])) for item in re_content['data']: if str(item['timeSlot']).find('[407]') > 0: flag_407 += 1 elif str(item['timeSlot']).find("[408]") > 0: flag_408 += 1 elif str(item['timeSlot']).find("[4]") > 0: flag_4 += 1 else: pass i += 1 time.sleep(0.5) print("flag_4="+str(flag_4), "flag_407="+str(flag_407), "flag_408="+str(flag_408)) percent_4 = flag_4/(7*i) percent_407 = flag_407/(7*i) percent_408 = flag_408/(7*i) print("percent_4="+str(percent_4), "percent_407="+str(percent_407), "percent_408="+str(percent_408)) percent_sum = percent_4+percent_407+percent_408 print("percent_sum : "+str(percent_sum)) if __name__ == "__main__": Numbers = 10 try: testExpClassAB(Numbers) except Exception as e: print("本次測試異常:"+e) print("============測試結束!============")