def build_lib1(): """ 先通过中转经停刷票建立一个航班1000人的底库 然后再建立另外1000人的底库 :return: """ for i in range(0, 1000): res = AirportProcess().api_face_transfergate_ticket_collect( reqId=get_uuid(), flightNo="flight02", faceImage=to_base64(r"C:\chenkeyun\OtherFile\IDcard\0.jpg"), deviceCode="T3ZZ002", gateNo="T3ZZ2", boardingNumber=board_no_list[i], flightDay=produce_flight_day(), faceFeature=get_txt(shiwanid8k_features + "/" + str(i) + ".txt"), sourceType="0") print(res) for j in range(1000, 2000): res1 = AirportProcess().api_face_transfergate_ticket_collect( reqId=get_uuid(), flightNo="flight02", faceImage=to_base64(r"C:\chenkeyun\OtherFile\IDcard\0.jpg"), deviceCode="T3ZZ002", gateNo="T3ZZ2", boardingNumber=board_no_list[j - 1000], flightDay=produce_flight_day(), faceFeature=get_txt(shiwanid8k_features + "/" + str(j) + ".txt"), sourceType="0") print(res1)
def first_task(self): # elf.host + self.review_server + "/api/v1/face/review/check" """进行通道复核""" body = { "reqId": get_uuid(), "gateNo": "T9AJ1", "deviceId": "T9AF001", "scenePhoto": to_base64(r"C:\chenkeyun\OtherFile\IDcard\0.jpg"), "sceneFeature": get_txt(shiwanid2k_features + "/" + str(2999) + ".txt") } with self.client.post(url="/review-server/api/v1/face/review/check", json=body, headers=AirportProcess().get_headers( "/api/v1/face/review/check"), verify=False, catch_response=True) as response: json_data = None try: json_data = json.loads(str(response.text)) if json_data["result"] == 0 and json_data["userInfo"][ "flightNumber"] == "flightno2999": response.success() elif json_data["result"] == 0 and json_data["userInfo"][ "flightNumber"] != "flightno2999": response.failure("复核失败" + "\n" + str(json_data)) elif json_data["result"] == 1: response.failure("复核失败" + "\n" + str(json_data)) except Exception as e: response.failure("解析失败" + str(json_data) + str(e))
def run(self): """封装函数进行30个航班,每个航班500人进行注册, :return: """ if not flight_numbers.empty(): index = flight_numbers.get() flight_no = list_flightn[index] logger.info("此时线程的name为:"+self.getName()+"航班号为"+str(flight_no)) # 循环调用中转通道接口进行人员注册 for m in range(0, 500): res = AirportProcess().api_face_transfergate_ticket_collect( reqId=get_uuid(), flightNo=flight_no, faceImage=to_base64(r"C:\chenkeyun\OtherFile\IDcard\0.jpg"), deviceCode="T1ZZ001", gateNo="T1ZZ1", boardingNumber=board_number[m], flightDay="25", faceFeature=one_feature, sourceType="0" ) print(res) logger.info("航班号为:"+flight_no+"的500人全部加载完毕") else: logger.info("此时30个航班全部注册成功") return
def build_lib(): """通过人工通道验票接口建立10000人的底库,直接造成航班号为图片名称 """ # 先生成3000个不同的身份证号码 list_id = get_random_idcard_to_only_list(10000) for i in range(0, 10000): # 进行人员注册 a = AirportProcess().api_face_security_face_check( reqId=get_uuid(), gateNo="T3AJ1", deviceId="T3AJ001", cardType=0, idCard=list_id[i], nameZh="name" + str(i), nameEn="englishName", age=get_age(list_id[i]), sex=random.randint(0, 1), birthDate=get_birthday(list_id[i]), address="重庆", certificateValidity="2008-2022", nationality="China", ethnic="汉族", contactWay="0123456789", scenePhoto=to_base64(shiwanid + "/" + str(i) + ".jpg"), sceneFeature=get_txt(shiwanid8k_features + "/" + str(i) + ".txt"), cardPhoto=to_base64(shiwanid + "/" + str(i) + ".jpg"), cardFeature=get_txt(shiwanid8k_features + "/" + str(i) + ".txt")) print(a + "\n" + "第%d次注册底库成功" % i)
def test_09_09(): """ 验证传入的sex不为int型时服务器能正确响应 :return: """ res = AirportProcess(host="http://192.168.1.105:9091/").api_security_ticket_check(reqId=get_uuid(), gateNo="T1AJ1", deviceId="T1AJ1", cardType=0, idCard="500238199312134391", nameZh="ckytest", nameEn="ckytest", age="24", sex="nide", birthDate=get_birthday("500238199312134391"), address="重庆市", certificateValidity="20180201-长期", nationality="China", ethnic="汉族", contactWay="123456", cardPhoto=Base64Picture, fId=get_uuid()) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 204 and json_data['msg'] == 'No Content'
def test_02_02(): """验证传入证件号码为不空值,航班号和登记序列号为空值的参数,服务器能正常响应,""" # 复核口 人工放行 报警接口 # 安检的状态( # 0 人证1:1 # 1 人工放行 # 2闸机B门通过 # 3-未知) res = AirportProcess( host="http://192.168.1.105:9091/").api_face_review_manual_check( reqId=get_uuid(), gateNo="T1AF1", deviceId="T1AF001", scenePhoto=Base64Picture, cardNo="511228199312134391", passengerName="passengerName", passengerEnglishName="passengerEnglishName", securityStatus="0", securityPassTime=get_time_mmss(), securityGateNo="T1AJ1", securityDeviceNo="T1AJ001", flightNo="", boardingNumber="", sourceType="0") json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 0 and json_data["msg"] == 'Success' print("验证传入证件号码为不空值,航班号和登记序列号为空值的参数,服务器能正常响应")
def test_01_01(method_4): """有值机信息时,验证传入放行的参数,服务器能正常响应,以及数据库流水表数据的写入""" # 复核口 人工放行 报警接口 # 安检的状态( # 0 人证1:1 # 1 人工放行 # 2闸机B门通过 # 3-未知) time.sleep(1) res = AirportProcess( host="http://192.168.1.105:9091/").api_face_review_manual_check( reqId=get_uuid(), gateNo="T1AF1", deviceId="T1AF001", scenePhoto=Base64Picture, cardNo="511228199312134390", passengerName="passengerName", passengerEnglishName="passengerEnglishName", securityStatus="0", securityPassTime=get_time_mmss(), securityGateNo="T1AJ1", securityDeviceNo="T1AJ001", flightNo="flightnofang1", boardingNumber="001", sourceType="0") json_data = json.loads(res.text) print(json_data) assert json_data['status'] == 0 and json_data['msg'] == 'Success' print("有值机信息时,验证传入放行的参数,服务器能正常响应")
def test_02_03(): """验证传入的cardNo,flightNo,boardingNumber都为空值时服务器能正确响应""" # 复核口 人工放行 报警接口 # 安检的状态( # 0 人证1:1 # 1 人工放行 # 2闸机B门通过 # 3-未知) res = AirportProcess( host="http://192.168.1.105:9091/").api_face_review_manual_check( reqId=get_uuid(), gateNo="T1AF1", deviceId="T1AF001", scenePhoto=Base64Picture, cardNo="", passengerName="passengerName", passengerEnglishName="passengerEnglishName", securityStatus="0", securityPassTime=get_time_mmss(), securityGateNo="T1AJ1", securityDeviceNo="T1AJ001", flightNo="", boardingNumber="", sourceType="0") json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 400 and json_data[ "msg"] == 'flightInfo and cardNo is empty' print("验证传入的cardNo,flightNo,boardingNumber都为空值时服务器能正确响应")
def test_01_04(): """验证值机信息不是当天的旅客传入现场照和身份证照匹配,服务器能正常响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_security_face_check( reqId=get_uuid(), gateNo="T1AJ1", deviceId="T1AJ001", cardType="0", idCard="500238199312134396", nameZh="nameZh", nameEn="nameEn", age=get_age("500238199312134391"), sex="1", birthDate=get_birthday("500238199312134391"), address="重庆市", certificateValidity="20180101-20260203", nationality="China", ethnic="汉族", contactWay="0123456789", scenePhoto=Base64Picture, sceneFeature=get_txt(shiwanli8k_features + "/" + str(5000) + ".txt"), cardPhoto=Base64Picture, cardFeature=get_txt(shiwanid8k_features + "/" + str(5000) + ".txt")) json_data = json.loads(res.text) print(res.text) assert json_data["status"] == 105 and json_data["result"] == 1
def post_review_anto_zhaji_3(self): # self.host+self.review_server+"/api/v1/face/review/self-check" # 自助闸机复核接口 index = 10000 body = { "reqId": get_uuid(), "gateNo": "T3AJ2", "deviceId": "T3AJ002", "scenePhoto": to_base64(shiwanli + "/" + str(index) + ".jpg"), "sceneFeature": get_txt(shiwanli2k_features + "/" + str(index) + ".txt") } with self.client.post( url="/review-server/api/v1/face/review/self-check", json=body, headers=AirportProcess().get_headers( "/api/v1/face/review/self-check"), verify=False, catch_response=True) as response: json_data = json.loads(str(response.text)) if json_data["status"] == 0 and json_data[ "result"] == 0 and json_data["userInfo"][ "nameZh"] == "name" + str(index): response.success() else: response.failure('Failed!,没有识别出来')
def test_01_01(zhiji_to_manopcheck): """验证现场照和身份证照匹配(分数较低),人工查验通过传入安检口多次人脸识别失败, 现场照和身份证照匹配旅客信息,服务器能正常响应""" # 安检人工放行接口 res = AirportProcess(host="http://192.168.1.105:9091/").api_face_security_manual_optcheck(reqId=get_uuid(), gateNo="T1AJ1", deviceId="T1AJ001", cardType="0", idCard="500238199312154390", nameZh="nameZh", nameEn="nameEn", age=get_age("500238199312154390"), sex="1", birthDate=get_birthday("500238199312154390"), address="重庆市", certificateValidity="20120101-长期", nationality="China", ethnic="汉族", contactWay="0123456789", scenePhoto=Base64Picture, sceneFeature=get_txt(shiwanli8k_features+"/"+str(5100)+".txt"), cardPhoto=Base64Picture, cardFeature=get_txt(shiwanli8k_features+"/"+str(5101)+".txt")) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 0 and json_data["msg"] == 'Success'
def test_01_04(): """验证传入的deviceId为空时服务器能正确响应""" res = AirportProcess(host="http://192.168.1.105:9091/").api_face_security_manual_optcheck(reqId=get_uuid(), gateNo="T1AJ1", deviceId=None, cardType="0", idCard="500238199312154390", nameZh="nameZh", nameEn="nameEn", age=get_age("500238199312154390"), sex="1", birthDate=get_birthday("500238199312154390"), address="重庆市", certificateValidity="20120101-长期", nationality="China", ethnic="汉族", contactWay="0123456789", scenePhoto=Base64Picture, sceneFeature=get_txt(shiwanli8k_features+"/"+str(5100)+".txt"), cardPhoto=Base64Picture, cardFeature=get_txt(shiwanli8k_features+"/"+str(5101)+".txt")) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 400 and json_data["msg"] == 'badparams<deviceId is empty> ' print("验证传入的deviceId为空时服务器能正确响应")
def post_boarding_review3(self): # self.host + self.boardinggate_server + "/api/v1/face/boarding/check" # 登机口复核 random_index = random.randint(1, 40) features_index = random.randint(random_index*500-500, random_index*500-500-1) board = board_no_list[random_index] body = {"reqId": get_uuid(), "faceImage": to_base64(r"C:\chenkeyun\OtherFile\IDcard\0.jpg"), "faceFeature": get_txt(shiwanid2k_features+"/"+str(features_index)+".txt"), "deviceCode": "T3DJ001", "boardingGate": str(board_gate[random_index-1]), "flightNo": flight_no_list[random_index-1], "flightDay": produce_flight_date()} with self.client.post(url="/boardinggate-server/api/v1/face/boarding/check", json=body, headers=AirportProcess().get_headers("/api/v1/face/boarding/check"), verify=False, catch_response=True) as response: json_data = json.loads(str(response.text)) try: if json_data["status"] == 0 and json_data["result"] == 0: response.success() print(json_data) else: response.failure("识别错误") except: response.failure("解析错误") logger.error(json_data)
def build_feature(): a = AirportProcess().api_face_notice_cratelib(reqId=get_uuid(), flightNo="flight01", date=produce_flight_date(), boardingGate="15", deviceCode="T3DJ001", number=1000, outTime=get_flight_out_time()) print(a)
def build_feature3(): for i in range(0, 40): a = AirportProcess().api_face_notice_cratelib(reqId=get_uuid(), flightNo=flight_no_list[i], date=produce_flight_date(), boardingGate=board_gate[i], deviceCode="T3DJ001", number=500, outTime=get_flight_out_time()) print(a) print("40个登机口全部建库完成")
def build_lib1(): for i in range(0, 3000): res = AirportProcess().api_face_security_manual_check(reqId=get_uuid(), flightNo="flightno%d" % i, faceImage=to_base64(r"C:\chenkeyun\OtherFile\IDcard\0.jpg"), gateNo="T9AJ1", deviceCode="T9AJ001", boardingNumber="001", seatId="001", flightDay=produce_flight_day(), faceFeature=get_txt(shiwanid8k_features+"/"+str(i)+".txt")) print("第%d个完毕" % (i+1)+"\n"+res) print("数据底库造完")
def test_1_00(): """验证无航班信息时reqiID返回正确""" res1 = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_library_check( reqId=get_uuid(), flightNo="reqIdflight", date=produce_flight_date(), # 日期yyyyMMdd boardingGate="01", deviceCode="T1DJ001", gateNo="T1DJ1") json_data = json.loads(res1) print(json_data) assert json_data["status"] == 0 and json_data["reqId"] != None
def test_1_01(method_12): """传入已通过登机口复核的旅客信息,验证传入已通过登机口复核的旅客信息,服务器能正常响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_review_check( reqId=get_uuid(), faceImage=Base64Picture, faceFeature=get_txt(shiwanid2k_features + "/25000.txt"), deviceCode="T1DJ001", boardingGate="06", flightNo="zhengchangflight", flightDay=produce_flight_date()) json_data = json.loads(res.text) print(json_data) print("传入已通过登机口复核的旅客信息,验证传入已通过登机口复核的旅客信息,服务器能正常响应")
def test_01_02(): """验证传入已通过通道复核的旅客信息,服务器能正常响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_review_check( reqId=get_uuid(), gateNo="T1AF1", deviceId="T1AF001", scenePhoto=Base64Picture, sceneFeature=get_txt(shiwanli2k_features + "/" + str(5200) + ".txt")) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 0 and json_data["userInfo"][ "cardNo"] == "700238199312134390" and json_data['isWrite'] == 1
def test_02_02(): """验证传入的gateNo为空时服务器能正确响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_review_check( reqId=get_uuid(), gateNo=None, deviceId="T1AF001", scenePhoto=Base64Picture, sceneFeature=get_txt(shiwanli2k_features + "/" + str(5203) + ".txt")) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 400 and json_data[ "msg"] == 'bad params<gateNo is empty> ' and json_data['isWrite'] == 0
def test_03(): """3 验证传入未值机旅客信息,服务器能正常响应""" res = AirportProcess(host="http://192.168.1.105:9091/").api_security_ticket_check(reqId=get_uuid(), gateNo="T1AJ1", deviceId="T1AJ1", cardType=0, idCard="500238199312134392", age=get_age("500238199312134391"), sex=0, birthDate=get_birthday("500238199312134391"), cardPhoto=Base64Picture,) json_data = json.loads(res.text) print(json_data) assert json_data["result"] == 1
def test_2_01(): """验证传入的reqId为空时服务器能正确响应""" res1 = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_library_check( reqId=None, flightNo="test1flight", date=produce_flight_date(), # 日期yyyyMMdd boardingGate="01", deviceCode="T1DJ001", gateNo="T1DJ1") json_data = json.loads(res1) print(json_data) assert json_data["status"] == 400 and json_data[ "reqId"] != None and json_data["msg"] == 'reqId is empty'
def test_3_06(): """验证传入的date格式不为yyyymmdd时服务器能正确响应""" # 不做校验 res1 = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_library_check( reqId=get_uuid(), flightNo="test1flight", date="农历二月初一", # 日期yyyyMMdd boardingGate="01", deviceCode="1", gateNo="mmm") json_data = json.loads(res1) print(json_data) assert json_data["status"] == 0 and json_data["msg"] == 'Success'
def test_02_05(): """验证传入的sceneFeature为空时服务器能正确响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_review_check( reqId=get_uuid(), gateNo="T1AJ1", deviceId="T1AJ001", scenePhoto=Base64Picture, sceneFeature=None) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 400 and json_data[ "msg"] == 'bad params<feature data is error> ' and json_data[ 'isWrite'] == 0 print("验证传入的scenePhoto为空时服务器能正确响应")
def test_1_03(method_10): """500建库人数0本地出发人员,0个中转的人数,500个经停的人数,验证传入正确的参数,服务器能正常响应""" res1 = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_library_check( reqId=get_uuid(), flightNo="jingtingflight", date=produce_flight_date(), # 日期yyyyMMdd boardingGate="03", deviceCode="T1DJ001", gateNo="T1DJ1") json_data = json.loads(res1) print(json_data) assert json_data["status"] == 0 and json_data["result"][ "totalPassengerNum"] == 500 and json_data["result"][ 'stopNum'] == 500 and json_data["reqId"] != None
def post_auto_zhaji(self): status = None e = None data = { "reqId": get_uuid(), "gateNo": "T1AJ1", "deviceId": "T1AD001", "cardType": 1, "idCard": "500238199312134390", "nameZh": "nameZh", # 非必填 "nameEn": "nameEn", # 非必填 "age": get_age("500238199312134390"), # 非必填 "sex": "1", # 非必填 "birthDate": get_birthday("500238199312134390"), "address": "重庆市", # 非必填 "certificateValidity": "20150212-20201212", "nationality": "China", # 非必填 "ethnic": "汉族", # 非必填 "contactWay": "123456789", # 非必填 "cardPhoto": Base64Picture, "fId": get_uuid() } with self.client.post( url="/security-server/api/v1/face/security/ticket-check", json=data, headers=AirportProcess().get_headers( "/api/v1/face/security/ticket-check"), verify=False, catch_response=True) as response: response.success() json_data = None try: json_data = json.loads(str(response.text)) if json_data["status"] == 0: if json_data["result"] == 0: status = True elif json_data["result"] == 1: status = False else: status = False else: status = False log.logger.warn("服务器返回错误") except Exception as e: status = False log.logger.error("解析错误" + str(json_data) + str(e)) if status: log.logger.info("人票验证通过" + str(json_data))
def test_01_04(method_3): """验证传入人工通道人工放行的旅客信息,服务器能正常响""" time.sleep(1) res = AirportProcess( host="http://192.168.1.105:9091/").api_face_review_check( reqId=get_uuid(), gateNo="T1AF1", deviceId="T1AF001", scenePhoto=Base64Picture, sceneFeature=get_txt(shiwanli2k_features + "/" + str(5202) + ".txt")) json_data = json.loads(res.text) print(json_data) print("通道复核验证传入人工通道人工放行的旅客信息,服务器能正常响") assert json_data["status"] == 0 and json_data["userInfo"][ 'flightNumber'] == "hangban002"
def test_1_04(method_15): """1:1安检,人工复核报警,验证传入正确的参数,服务器能正常响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_review_check( reqId=get_uuid(), faceImage=Base64Picture, faceFeature=get_txt(shiwanid2k_features + "/25005.txt"), deviceCode="T1DJ001", boardingGate="09", flightNo="zhengchang3", flightDay=produce_flight_date()) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 0 and json_data['userInfo'][ 'cardNo'] == '222238199312134394' print("1:1安检,人工复核报警,验证传入正确的参数,服务器能正常响应")
def test_2_01(): """不是该登机口航班的旅客,验证传入正确的参数,服务器能正常响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_review_check( reqId=get_uuid(), faceImage=Base64Picture, faceFeature=get_txt(shiwanid2k_features + "/25005.txt"), deviceCode="T1DJ001", boardingGate="09", flightNo="test004", flightDay=produce_flight_date()) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 0 and json_data[ 'msg'] == 'not find the flightNumber' print("不是该登机口航班的旅客,验证传入正确的参数,服务器能正常响应")
def test_2_02(): """验证传入的reqId为空时服务器能正确响应""" res = AirportProcess( host="http://192.168.1.105:9091/").api_face_boarding_review_check( reqId=None, faceImage=Base64Picture, faceFeature=get_txt(shiwanid2k_features + "/25005.txt"), deviceCode="T1DJ001", boardingGate="09", flightNo="test004", flightDay=produce_flight_date()) json_data = json.loads(res.text) print(json_data) assert json_data["status"] == 400 and json_data[ 'msg'] == 'bad params<reqId is empty> ' print("验证传入的reqId为空时服务器能正确响应")