示例#1
0
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)
示例#2
0
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)
示例#4
0
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)
示例#5
0
 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)
示例#6
0
# @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():
    # 调用新增合作伙伴接口
示例#7
0
                                                    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)
示例#8
0
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)