class TestGetFeatures(object): data = ReadYamlUtils(PATH("../test_data/2_face_features_get.yaml")) __data1 = data.read_data_for_face_detect(PATH("../public/img"), PATH("../public"))["cases"] server = RequestTools() @pytest.mark.parametrize("data_engine", __data1) @pytest.mark.run(order=2) # @allure.testcase("测试标题") def test_01(self, data_engine): method = self.data.read_data()["method"] url = self.data.read_data()["url"] + self.data.read_data()["sign"] headers = self.server.get_header(self.data.read_data()["sign"]) body = data_engine["body"] _log.info("正在测试{}".format(self.data.read_data()["title"]) + "----------" + "测试用例的标题为:{}".format(data_engine["case_title"])) res = self.server.send_request(method=method, url=url, body=body, headers=headers) if res is not None and not isinstance(res, str): response = res.text if AssertResult().judge_code(data_engine["status"], response): print(response) time.sleep(0.1) else: raise AssertionError else: print(res)
class TestFaceDetect(object): data = ReadYamlUtils(PATH("../test_data/1_face_identify.yaml")) __data1 = data.read_data_for_face_detect(PATH("../public/img"), PATH("../public"))["cases"] server = RequestTools() @pytest.mark.parametrize("data_engine", __data1) @pytest.mark.run(order=2) def test_01(self, data_engine): method = self.data.read_data()["method"] url = self.data.read_data()["url"] + self.data.read_data()["sign"] headers = self.server.get_header(self.data.read_data()["sign"]) body = data_engine["body"] titile = data_engine["case_title"] if titile == "无人脸时(其他图片),不能检测到人脸的数量及位置": if not self.server.get_json_file(body): print("'GGGGGGGGGGGGGGGGGG") _log.info("正在测试{}".format(self.data.read_data()["title"]) + "----------" + "测试用例的标题为:{}".format(data_engine["case_title"])) res = self.server.send_request(method=method, url=url, body=body, headers=headers) if res is not None and not isinstance(res, str): response = res.text if AssertResult().judge_code(data_engine["status"], response): print(response) time.sleep(0.1) else: raise AssertionError else: print(res)
class TestFaceSearchImages(object): data = ReadYamlUtils(PATH("../test_data/5_face_search_picture.yaml")) __data1 = data.read_data_for_face_detect( PATH("../public/img"), PATH("../public/features"))["cases"] server = RequestTools() @pytest.mark.parametrize("data_engine", __data1) @pytest.mark.run(order=2) def test_01(self, data_engine): method = self.data.read_data()["method"] url = self.data.read_data()["url"] + self.data.read_data()["sign"] headers = self.server.get_header(self.data.read_data()["sign"]) body = data_engine["body"] # json_obj = {} # new_json = None # for key in body: # json_obj[key] = body[key] # if key == "data": # new_json = body["data"] # for key in new_json: # if key == "groupName": # new_json["groupName"] = [new_json["groupName"]] _log.info("正在测试{}".format(self.data.read_data()["title"]) + "----------" + "测试用例的标题为:{}".format(data_engine["case_title"])) res = self.server.send_request(method=method, url=url, body=body, headers=headers) if res is not None and not isinstance(res, str): response = res.text if AssertResult().judge_code(data_engine["status"], response): print(response) time.sleep(0.1) else: raise AssertionError else: print(res)
def run(): current_path = PATH("../") command = "cd {}".format(current_path) print(command) run_comm = "pytest -s -q --alluredir report" make_report = "allure generate report/ -o report/html" a = os.system("c:") print(a) b = os.system(command) print(b) c = os.system(run_comm) print(c) d = os.system(make_report)
def test_0_face_register(self): """人脸注册""" res = self.__server.api_face_register( reqId="11", partnerId="1409b37cdb58414bbd0fa6ecf1929c33", groupName="TestGroupName", faceCode="facecode_11_register", faceName="name", faceImage=self.__server.get_image_to_base64( PATH("../public/img/11_regist.jpg"))) try: self.__assert.judge_code(0, res.text) json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(res.text + "\n" + "{}".format(e), file=sys.stderr)
# @Author : chenky # @ProjectName :script # @FileName: produce_data.py # @Software: PyCharm import json import uuid from multiprocessing import Process import time from config.Config import ConfigUtils, PATH from public.FaceEngine import FaceEngine from public.Log import MyLog _log = MyLog("produce_data").logger _server = FaceEngine(ConfigUtils(PATH("../config/config.ini")).get_value_by_section_and_option("server", "engine_host")) """ 1. 进行1个合作伙伴增加 2.进行10个用户组(人脸库)的增加 3.对每个用户组进行10W人脸数据的注册 命名规则: 伙伴名称:part+int 组名(人脸库名):group+int 人脸代码:伙伴名称+组名+int 人脸名称:faceName """ _picture_path = "C:/chenkeyun/OtherFile/picture/" def add_one_partner_group(): # 调用新增合作伙伴接口
str_key] else: # _log.warning("不是jpg图片或者txt,此时key的值为---{}-----,对应的值为yaml原来的值".format(key)) pass except Exception as e: continue body_data["data"] = json_data case_one["body"] = body_data else: _log.error("data对应的key不存在,或者,data对应的数据不是json对象") response_content["cases"] = case_data_all return response_content except Exception as e: _log.error("处理处理发生错误+\n{}".format(e)) if __name__ == '__main__': name = PATH("../test_data/4_face_compare_features.yaml") x = ReadYamlUtils(name) # print(x.read_data()) # print(type(x.read_data())) # kk = {"55test222": 1, "test2": ".jpg"} # str_a = "testimagetest" # pattern = re.compile(".*image.*") # print(pattern.match(str_a).group(0)) mm = x.read_data_for_face_detect(PATH("../public/img"), PATH("../public/features")) print(mm) # kk = json.dumps(mm, ensure_ascii=False, indent=2) # print(kk)
class TestApi(unittest.TestCase): __config = ConfigUtils(PATH("../config/config.ini")) __server = FaceEngine( __config.get_value_by_section_and_option("server", "engine_host")) __assert = AssertResult() def testapi_aa(self): print(00000000) def a(self): print( self.__config.get_value_by_section_and_option( "server", "engine_host")) def test_0_face_register(self): """人脸注册""" res = self.__server.api_face_register( reqId="11", partnerId="1409b37cdb58414bbd0fa6ecf1929c33", groupName="TestGroupName", faceCode="facecode_11_register", faceName="name", faceImage=self.__server.get_image_to_base64( PATH("../public/img/11_regist.jpg"))) try: self.__assert.judge_code(0, res.text) json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(res.text + "\n" + "{}".format(e), file=sys.stderr) def test_1_face_remove(self): """人脸删除""" res = self.__server.api_face_remove(reqId="", partnerId="", groupName="", faceCode="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_2_face_clear(self): """人脸清空""" res = self.__server.api_face_clear(reqId="", partnerId="", groupName="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_3_get_one_face(self): """获取单个人脸信息""" res = self.__server.api_face_get_one_face(reqId="", partnerId="", groupName="", faceCode="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_4_query_group_faces(self): """查询当前组内人脸信息""" res = self.__server.api_face_query_group_faces(reqId="", pageIndex="", pageSize="", partnerId="", groupName="", faceCode="", faceName="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_5_face_detect(self): """人脸检测""" res = self.__server.api_face_identify_detect(reqId="", partnerId="", image="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_6_face_get_features(self): """人脸特征提取""" res = self.__server.api_face_get_features(reqId="", partnerId="", image="", type_=0, position=None) try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_6_face_compare_by_images(self): """根据两张图片进行比对""" res = self.__server.api_face_compare_images(reqId="", partnerId="", image1="", image2="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_7_face_compare_by_features(self): """根据两个特征进行比对""" res = self.__server.api_face_compare_features(reqId="", partnerId="", feature1="", feature2="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_8_face_search_by_image(self): """人脸查找 根据图片""" res = self.__server.api_face_search_image(reqId="", partnerId="", image="", groupName="", position="", matchNum="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_9_face_search_by_feature(self): """人脸查找 根据特征""" res = self.__server.api_face_search_features(reqId="", partnerId="", feature="", groupName="", liveImage="", matchNum="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr) def test_9_9_face_record_query(self): """人脸记录查询""" res = self.__server.api_face_record_query(reqId="", pageIndex="", pageSize="", partnerId="", groupName="", result="", beginTime="", endTime="") try: json_format = json.dumps(eval(res.text), ensure_ascii=False, indent=2) print("\n" + json_format) except Exception as e: print(str(res) + "\n" + "{}".format(e), file=sys.stderr)