9fb277b6ea9de953.json 17.9 KB
Newer Older
cxk committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
{
  "uid" : "9fb277b6ea9de953",
  "name" : "反向用例-username错误",
  "fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
  "historyId" : "af00b75ed0ee902ac8dd433a41fad736",
  "time" : {
    "start" : 1725517424221,
    "stop" : 1725517424249,
    "duration" : 28
  },
  "status" : "failed",
  "statusMessage" : "AssertionError: 断言失败",
  "statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000023F24EB4A00>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x0000023F25094040>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000023F250940A0>, module_name = '认证接口', api_name = '登录系统'\nlevel = '中', title = '反向用例-username错误', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n    @allure.epic(\"BPM项目-老张\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n    def test_bpm(self, fix_db, fix_req, module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(level)\n    \n        # 判断sql语句的类型是否为delete\n        if sql_type == \"delete\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n        # 判断sql语句类型是否为select\n        elif sql_type == \"select\":\n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 判断sql语句的类型是否为select|delete 或者为 delete|select\n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 使用RequestMethod类对象发送请求\n        res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n    \n        # 断言\n        try:\n            for key in expect_data.keys():\n>               assert expect_data[key] == res.json().get(key)\nE               AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE                 \nE                 - 账户错误或该租户未启用\nE                 + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:61: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000023F24EB4A00>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x0000023F25094040>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000023F250940A0>, module_name = '认证接口', api_name = '登录系统'\nlevel = '中', title = '反向用例-username错误', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n    @allure.epic(\"BPM项目-老张\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n    def test_bpm(self, fix_db, fix_req, module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(level)\n    \n        # 判断sql语句的类型是否为delete\n        if sql_type == \"delete\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n        # 判断sql语句类型是否为select\n        elif sql_type == \"select\":\n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 判断sql语句的类型是否为select|delete 或者为 delete|select\n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 使用RequestMethod类对象发送请求\n        res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n    \n        # 断言\n        try:\n            for key in expect_data.keys():\n                assert expect_data[key] == res.json().get(key)\n        except AssertionError:\n            log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n>           raise AssertionError(\"断言失败\")\nE           AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:64: AssertionError",
  "flaky" : false,
  "newFailed" : false,
  "beforeStages" : [ ],
  "testStage" : {
    "status" : "failed",
    "statusMessage" : "AssertionError: 断言失败",
    "statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000023F24EB4A00>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x0000023F25094040>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000023F250940A0>, module_name = '认证接口', api_name = '登录系统'\nlevel = '中', title = '反向用例-username错误', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n    @allure.epic(\"BPM项目-老张\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n    def test_bpm(self, fix_db, fix_req, module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(level)\n    \n        # 判断sql语句的类型是否为delete\n        if sql_type == \"delete\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n        # 判断sql语句类型是否为select\n        elif sql_type == \"select\":\n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 判断sql语句的类型是否为select|delete 或者为 delete|select\n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 使用RequestMethod类对象发送请求\n        res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n    \n        # 断言\n        try:\n            for key in expect_data.keys():\n>               assert expect_data[key] == res.json().get(key)\nE               AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE                 \nE                 - 账户错误或该租户未启用\nE                 + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:61: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000023F24EB4A00>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x0000023F25094040>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000023F250940A0>, module_name = '认证接口', api_name = '登录系统'\nlevel = '中', title = '反向用例-username错误', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n    @allure.epic(\"BPM项目-老张\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n    def test_bpm(self, fix_db, fix_req, module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(level)\n    \n        # 判断sql语句的类型是否为delete\n        if sql_type == \"delete\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n        # 判断sql语句类型是否为select\n        elif sql_type == \"select\":\n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 判断sql语句的类型是否为select|delete 或者为 delete|select\n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n            fix_db.delete(sql_data['delete'])\n    \n            # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n            select_result = fix_db.select(sql_data['select'])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 使用RequestMethod类对象发送请求\n        res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n    \n        # 断言\n        try:\n            for key in expect_data.keys():\n                assert expect_data[key] == res.json().get(key)\n        except AssertionError:\n            log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n>           raise AssertionError(\"断言失败\")\nE           AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:64: AssertionError",
    "steps" : [ ],
    "attachments" : [ {
      "uid" : "26654993cb2b599d",
      "name" : "log",
      "source" : "26654993cb2b599d.txt",
      "type" : "text/plain",
      "size" : 3041
    } ],
    "parameters" : [ ],
    "stepsCount" : 0,
    "hasContent" : true,
    "shouldDisplayMessage" : true,
    "attachmentsCount" : 1
  },
  "afterStages" : [ ],
  "labels" : [ {
    "name" : "feature",
    "value" : "认证接口"
  }, {
    "name" : "story",
    "value" : "登录系统"
  }, {
    "name" : "severity",
    "value" : "中"
  }, {
    "name" : "epic",
    "value" : "BPM项目-老张"
  }, {
    "name" : "parentSuite",
    "value" : "test_case.test_lao_zhang"
  }, {
    "name" : "suite",
    "value" : "test_bpm"
  }, {
    "name" : "subSuite",
    "value" : "TestBPM"
  }, {
    "name" : "host",
    "value" : "LAPTOP-O09782E1"
  }, {
    "name" : "thread",
    "value" : "21668-MainThread"
  }, {
    "name" : "framework",
    "value" : "pytest"
  }, {
    "name" : "language",
    "value" : "cpython3"
  }, {
    "name" : "package",
    "value" : "test_case.test_lao_zhang.test_bpm"
  }, {
    "name" : "resultFormat",
    "value" : "allure2"
  } ],
  "parameters" : [ {
    "name" : "api_name",
    "value" : "'登录系统'"
  }, {
    "name" : "case_data",
    "value" : "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
  }, {
    "name" : "expect_data",
    "value" : "{'message': '账号或密码错误'}"
  }, {
    "name" : "level",
    "value" : "'中'"
  }, {
    "name" : "method",
    "value" : "'POST'"
  }, {
    "name" : "mime",
    "value" : "'application/json'"
  }, {
    "name" : "module_name",
    "value" : "'认证接口'"
  }, {
    "name" : "sql_data",
    "value" : "None"
  }, {
    "name" : "sql_type",
    "value" : "None"
  }, {
    "name" : "title",
    "value" : "'反向用例-username错误'"
  }, {
    "name" : "update_key",
    "value" : "None"
  }, {
    "name" : "url",
    "value" : "'http://36.139.193.99:8088/auth'"
  } ],
  "links" : [ ],
  "hidden" : false,
  "retry" : false,
  "extra" : {
    "severity" : "normal",
    "retries" : [ {
      "uid" : "60f262d67011d7ed",
      "status" : "failed",
      "statusDetails" : "AssertionError: 断言失败",
      "time" : {
        "start" : 1725517423166,
        "stop" : 1725517423194,
        "duration" : 28
      }
    }, {
      "uid" : "d3b18749b3c1a05c",
      "status" : "failed",
      "statusDetails" : "AssertionError: 断言失败",
      "time" : {
        "start" : 1725517422087,
        "stop" : 1725517422113,
        "duration" : 26
      }
    }, {
      "uid" : "1c97659e27510f25",
      "status" : "failed",
      "statusDetails" : "AssertionError: 断言失败",
      "time" : {
        "start" : 1725517421021,
        "stop" : 1725517421050,
        "duration" : 29
      }
    }, {
      "uid" : "e0217d10cb23fb05",
      "status" : "failed",
      "statusDetails" : "AssertionError: 断言失败",
      "time" : {
        "start" : 1725517419971,
        "stop" : 1725517419999,
        "duration" : 28
      }
    }, {
      "uid" : "f1ae6e6ec5810eb9",
      "status" : "failed",
      "statusDetails" : "AssertionError: 断言失败",
      "time" : {
        "start" : 1725517418919,
        "stop" : 1725517418943,
        "duration" : 24
      }
    } ],
    "categories" : [ {
      "name" : "Product defects",
      "matchedStatuses" : [ ],
      "flaky" : false
    } ],
    "tags" : [ ]
  },
  "source" : "9fb277b6ea9de953.json",
  "parameterValues" : [ "'登录系统'", "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'中'", "'POST'", "'application/json'", "'认证接口'", "None", "None", "'反向用例-username错误'", "None", "'http://36.139.193.99:8088/auth'" ]
}