瀏覽代碼

Initial commit

“蒋伟” 6 月之前
父節點
當前提交
c845b23a68
共有 74 個文件被更改,包括 847 次插入2 次删除
  1. 8 0
      .idea/.gitignore
  2. 10 0
      .idea/XCHY.iml
  3. 45 0
      .idea/inspectionProfiles/Project_Default.xml
  4. 6 0
      .idea/inspectionProfiles/profiles_settings.xml
  5. 7 0
      .idea/misc.xml
  6. 8 0
      .idea/modules.xml
  7. 6 0
      .idea/vcs.xml
  8. 1 2
      DingDing.py
  9. 0 0
      out_time_url.yaml
  10. 0 0
      report/app.js
  11. 12 0
      report/data/attachments/1e18e772e64f4ed1.txt
  12. 9 0
      report/data/attachments/5810d169fe3b905e.txt
  13. 9 0
      report/data/attachments/6e3aa40efd8fc578.txt
  14. 12 0
      report/data/attachments/ba62b3af760d137d.txt
  15. 9 0
      report/data/attachments/dae3dadaa5f3eabb.txt
  16. 2 0
      report/data/behaviors.csv
  17. 0 0
      report/data/behaviors.json
  18. 0 0
      report/data/categories.csv
  19. 1 0
      report/data/categories.json
  20. 0 0
      report/data/packages.json
  21. 6 0
      report/data/suites.csv
  22. 0 0
      report/data/suites.json
  23. 0 0
      report/data/test-cases/150030d5b4de00b3.json
  24. 0 0
      report/data/test-cases/28eb73770dbc7ab3.json
  25. 0 0
      report/data/test-cases/38b64c893e1ac07c.json
  26. 0 0
      report/data/test-cases/4aa62d2062983cf6.json
  27. 0 0
      report/data/test-cases/929f7e89de68255b.json
  28. 0 0
      report/data/timeline.json
  29. 11 0
      report/export/influxDbData.txt
  30. 10 0
      report/export/mail.html
  31. 11 0
      report/export/prometheusData.txt
  32. 二進制
      report/favicon.ico
  33. 1 0
      report/history/categories-trend.json
  34. 1 0
      report/history/duration-trend.json
  35. 1 0
      report/history/history-trend.json
  36. 1 0
      report/history/history.json
  37. 1 0
      report/history/retry-trend.json
  38. 23 0
      report/index.html
  39. 206 0
      report/plugins/behaviors/index.js
  40. 120 0
      report/plugins/packages/index.js
  41. 200 0
      report/plugins/screen-diff/index.js
  42. 30 0
      report/plugins/screen-diff/styles.css
  43. 3 0
      report/styles.css
  44. 1 0
      report/widgets/behaviors.json
  45. 1 0
      report/widgets/categories-trend.json
  46. 1 0
      report/widgets/categories.json
  47. 1 0
      report/widgets/duration-trend.json
  48. 1 0
      report/widgets/duration.json
  49. 1 0
      report/widgets/environment.json
  50. 1 0
      report/widgets/executors.json
  51. 1 0
      report/widgets/history-trend.json
  52. 1 0
      report/widgets/launch.json
  53. 1 0
      report/widgets/retry-trend.json
  54. 1 0
      report/widgets/severity.json
  55. 1 0
      report/widgets/status-chart.json
  56. 1 0
      report/widgets/suites.json
  57. 1 0
      report/widgets/summary.json
  58. 9 0
      temps/11cf5ec4-524d-4e7b-9922-f620e584a45c-attachment.txt
  59. 1 0
      temps/1e771e0b-2690-42e7-96d0-6eeeac1da44d-container.json
  60. 9 0
      temps/255cf84a-85ea-4eb1-95f7-5b720d15f9cc-attachment.txt
  61. 1 0
      temps/3b7fc5e2-aa43-4bc6-8aae-927ca64ff5fb-result.json
  62. 1 0
      temps/619cf5f0-9d0e-40cf-8974-a637400b87e4-result.json
  63. 1 0
      temps/65cd915c-8d42-4421-b128-6d6822c0054c-result.json
  64. 1 0
      temps/7e12ab07-b3b4-4277-b193-46b79cdeb46c-container.json
  65. 1 0
      temps/86a34526-660b-4c4b-87ba-51d0472fa07d-container.json
  66. 12 0
      temps/87976a40-31d9-4dbf-a5dd-085517fb19cd-attachment.txt
  67. 1 0
      temps/aa04927a-182c-4604-99cc-77a1c189da8e-container.json
  68. 1 0
      temps/c1db90c5-ec1d-43b3-a16b-18e594634549-container.json
  69. 1 0
      temps/c8e522cc-5681-42c6-920a-1831fde83857-result.json
  70. 9 0
      temps/d133dd30-e9b6-4e32-9c11-8fc36fb202c5-attachment.txt
  71. 12 0
      temps/d466fcc6-2c73-480d-afec-0359695273e1-attachment.txt
  72. 1 0
      temps/dd92cd1a-6d8d-4368-a335-ccdf8805aace-container.json
  73. 1 0
      temps/e1fffe5f-7a13-4c33-b72a-8f5de3521717-result.json
  74. 1 0
      temps/ffa34966-2093-4967-9368-48e0b37f88d4-container.json

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 10 - 0
.idea/XCHY.iml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.venv" />
+    </content>
+    <orderEntry type="jdk" jdkName="Python 3.10 (XCHY)" jdkType="Python SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 45 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,45 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
+      <Languages>
+        <language minSize="83" name="Python" />
+      </Languages>
+    </inspection_tool>
+    <inspection_tool class="PyInterpreterInspection" enabled="false" level="WARNING" enabled_by_default="false" />
+    <inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="ignoredPackages">
+        <value>
+          <list size="12">
+            <item index="0" class="java.lang.String" itemvalue="typing_extensions" />
+            <item index="1" class="java.lang.String" itemvalue="pytest-forked" />
+            <item index="2" class="java.lang.String" itemvalue="pytest" />
+            <item index="3" class="java.lang.String" itemvalue="charset-normalizer" />
+            <item index="4" class="java.lang.String" itemvalue="pytest-xdist" />
+            <item index="5" class="java.lang.String" itemvalue="requests" />
+            <item index="6" class="java.lang.String" itemvalue="urllib3" />
+            <item index="7" class="java.lang.String" itemvalue="attrs" />
+            <item index="8" class="java.lang.String" itemvalue="pyproject_hooks" />
+            <item index="9" class="java.lang.String" itemvalue="psycopg2-binary" />
+            <item index="10" class="java.lang.String" itemvalue="colorlog" />
+            <item index="11" class="java.lang.String" itemvalue="jsonpath" />
+          </list>
+        </value>
+      </option>
+    </inspection_tool>
+    <inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
+      <option name="ignoredErrors">
+        <list>
+          <option value="N802" />
+        </list>
+      </option>
+    </inspection_tool>
+    <inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="ignoredIdentifiers">
+        <list>
+          <option value="str.*" />
+        </list>
+      </option>
+    </inspection_tool>
+  </profile>
+</component>

+ 6 - 0
.idea/inspectionProfiles/profiles_settings.xml

@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <settings>
+    <option name="USE_PROJECT_PROFILE" value="false" />
+    <version value="1.0" />
+  </settings>
+</component>

+ 7 - 0
.idea/misc.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Black">
+    <option name="sdkName" value="Python 3.10 (xchy)" />
+  </component>
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (XCHY)" project-jdk-type="Python SDK" />
+</project>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/XCHY.iml" filepath="$PROJECT_DIR$/.idea/XCHY.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>

+ 1 - 2
DingDing.py

@@ -67,8 +67,7 @@ def DingTalkSend(info):
     # print('通过数量:{}'.format(status_passed))
     status_failed = d.get('launch_status_broken')  # 不通过数量
     print('不通过数量:{}'.format(status_failed))
-    # out_time_url = str(read_yaml_out_time_url())
-    # print(out_time_url)
+
     # 钉钉推送
     text1 = (
                    f"<font color=\'#FFA500\'>[通知] </font>星辰绘影-{info}"

+ 0 - 0
out_time_url.yaml


File diff suppressed because it is too large
+ 0 - 0
report/app.js


+ 12 - 0
report/data/attachments/1e18e772e64f4ed1.txt

@@ -0,0 +1,12 @@
+INFO     log:log_util.py:102 --------接口测试开始--------
+INFO     log:log_util.py:102 yaml框架检查基本通过
+INFO     log:log_util.py:102 请求名称:AI海报
+INFO     log:log_util.py:102 请求方式:post
+INFO     log:log_util.py:102 请求路径:https://ai.teleagi.cn/aicloud-api/xcdmx/interface/api/AlterAIController/crateRegionalLayoutAI
+INFO     log:log_util.py:102 请求头:{'opertoken': 'eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAGWQTU7DMBSE7-J1ItmxYztZI6QK1E3LAZzkNRgSO_KP-Kl6FLgft8BWaVRgOd-8GY3eET0FjVpEZSdJN-ASwyBK1qimbCjrStofOOGV7CsqUYG0CqglglKCmWCiQD52Ke3ffIA5-94naRdwKmhrElFx-CEPHlwC8LqcKwRu6lwRwCgTNvmMSE4ZrpiQjDS4ZnVTpURMwX825rxuJEv22t0ekU5nJk5TgXoHKsBez3AhcRn-kAGm20mNF2nU1XEq3F7pRXn_Yt1aD7PS02o-WgPbOHd5RFopCM_TOT-vM5s1ltXORtevxQ5GnZ7nftODdj7c21Eb1AYXoUBdfL_UnNLP7DOY83b09fG5u7nbZ4JO3-WyAzrQAQAA.YNoA4j-Asy4GvhbB6atkkEfOno49lwMDLqgf5hZp_EhVGpILu7BNVsB7pvleDGrMU30asoXjxEmJqqnvzuCAbA', 'Mi': 'pXD+ao03WaRQlobG1sxmnDIXenh41gjMs35rMujnetmEDjy8/1/EzZ/En560pa4y67XalOsn9qz59Z4cDXwJ3aL1VUbOIwAHo3bQQXcV3IZ5h8xlo2AelqYhE3WRg26mjC1mB9l4Z1+qv68cY07AZ8UWTs/92ih+SrF/p0oLnCoBtm8z9+1MFdTM4+x49M6Z2KPwO5+I4qfPnMfJnA0M8g=='}
+INFO     log:log_util.py:102 请求json参数:{'batch_size': 1, 'seq_id': '2276303286248130p9sifjve41', 'content': '操场上奔跑', 'extra_message': [{'key': 'instances', 'value': ['操场上奔跑']}, {'key': 'bboxes', 'value': [[0.45117, 0.45117, 0.54883, 0.54883]]}], 'resolution_ratio': [1, 1]}
+INFO     log:log_util.py:102 实际结果: <Response [200]>
+INFO     log:log_util.py:102 预期结果:[{'contains': 200}]
+INFO     log:log_util.py:102 实际结果:{'success': True, 'code': 200, 'msg': '调用成功', 'data': {'code': '10000', 'msg': '调用成功'}}
+INFO     log:log_util.py:102 接口测试成功
+INFO     log:log_util.py:102 ------接口测试结束————————

File diff suppressed because it is too large
+ 9 - 0
report/data/attachments/5810d169fe3b905e.txt


File diff suppressed because it is too large
+ 9 - 0
report/data/attachments/6e3aa40efd8fc578.txt


+ 12 - 0
report/data/attachments/ba62b3af760d137d.txt

@@ -0,0 +1,12 @@
+INFO     log:log_util.py:102 --------接口测试开始--------
+INFO     log:log_util.py:102 yaml框架检查基本通过
+INFO     log:log_util.py:102 请求名称:AI海报
+INFO     log:log_util.py:102 请求方式:post
+INFO     log:log_util.py:102 请求路径:https://ai.teleagi.cn/aicloud-api/xcdmx/interface/posterGeneration/aSentence
+INFO     log:log_util.py:102 请求头:{'opertoken': 'eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAGWQTU7DMBSE7-J1ItmxYztZI6QK1E3LAZzkNRgSO_KP-Kl6FLgft8BWaVRgOd-8GY3eET0FjVpEZSdJN-ASwyBK1qimbCjrStofOOGV7CsqUYG0CqglglKCmWCiQD52Ke3ffIA5-94naRdwKmhrElFx-CEPHlwC8LqcKwRu6lwRwCgTNvmMSE4ZrpiQjDS4ZnVTpURMwX825rxuJEv22t0ekU5nJk5TgXoHKsBez3AhcRn-kAGm20mNF2nU1XEq3F7pRXn_Yt1aD7PS02o-WgPbOHd5RFopCM_TOT-vM5s1ltXORtevxQ5GnZ7nftODdj7c21Eb1AYXoUBdfL_UnNLP7DOY83b09fG5u7nbZ4JO3-WyAzrQAQAA.YNoA4j-Asy4GvhbB6atkkEfOno49lwMDLqgf5hZp_EhVGpILu7BNVsB7pvleDGrMU30asoXjxEmJqqnvzuCAbA', 'Mi': 'pXD+ao03WaRQlobG1sxmnOFVlxGpGHtzJ2BrrqT2WfecjTsHIlR2TcrfDtYl0ijTZVfWDnNt0QJf0F3CbAis8KL1VUbOIwAHo3bQQXcV3IZ5h8xlo2AelqYhE3WRg26mHXtnlRRbRcmy/KMv5ZoUNEWoGjnDfROM49aVdxhOHRGyLPzNxsA2AsJZoGZsfzGq'}
+INFO     log:log_util.py:102 请求json参数:{'seq_id': '7094075445608730p9sifjve41', 'prompt': '生成一张冬至宣传海报,一家人一桌暖心聚会,幸福满溢这个寒冬。上面写着“冬至暖心', 'content': '生成一张冬至宣传海报,一家人一桌暖心聚会,幸福满溢这个寒冬。上面写着“冬至暖心'}
+INFO     log:log_util.py:102 实际结果: <Response [200]>
+INFO     log:log_util.py:102 预期结果:[{'contains': 200}]
+INFO     log:log_util.py:102 实际结果:{'success': True, 'code': 200, 'msg': '调用成功', 'data': {'code': '10000', 'msg': '调用成功'}}
+INFO     log:log_util.py:102 接口测试成功
+INFO     log:log_util.py:102 ------接口测试结束————————

File diff suppressed because it is too large
+ 9 - 0
report/data/attachments/dae3dadaa5f3eabb.txt


+ 2 - 0
report/data/behaviors.csv

@@ -0,0 +1,2 @@
+"Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
+"青春重庆","用户管理模块","","0","0","5","0","0"

File diff suppressed because it is too large
+ 0 - 0
report/data/behaviors.json


+ 0 - 0
report/data/categories.csv


+ 1 - 0
report/data/categories.json

@@ -0,0 +1 @@
+{"uid":"4b4757e66a1912dae1a509f688f20b0f","name":"categories","children":[]}

File diff suppressed because it is too large
+ 0 - 0
report/data/packages.json


+ 6 - 0
report/data/suites.csv

@@ -0,0 +1,6 @@
+"Status","Start Time","Stop Time","Duration in ms","Parent Suite","Suite","Sub Suite","Test Class","Test Method","Name","Description"
+"passed","Wed Dec 04 09:30:53 CST 2024","Wed Dec 04 09:30:54 CST 2024","825","test_case","test_allAPI","TestAPI","","","模板中心",""
+"passed","Wed Dec 04 09:30:52 CST 2024","Wed Dec 04 09:30:52 CST 2024","282","test_case","test_allAPI","TestAPI","","","我的空间",""
+"passed","Wed Dec 04 09:30:54 CST 2024","Wed Dec 04 09:30:54 CST 2024","307","test_case","test_allAPI","TestAPI","","","AI海报",""
+"passed","Wed Dec 04 09:30:52 CST 2024","Wed Dec 04 09:30:53 CST 2024","959","test_case","test_allAPI","TestAPI","","","为你推荐",""
+"passed","Wed Dec 04 09:30:54 CST 2024","Wed Dec 04 09:30:54 CST 2024","252","test_case","test_allAPI","TestAPI","","","AI海报",""

File diff suppressed because it is too large
+ 0 - 0
report/data/suites.json


File diff suppressed because it is too large
+ 0 - 0
report/data/test-cases/150030d5b4de00b3.json


File diff suppressed because it is too large
+ 0 - 0
report/data/test-cases/28eb73770dbc7ab3.json


File diff suppressed because it is too large
+ 0 - 0
report/data/test-cases/38b64c893e1ac07c.json


File diff suppressed because it is too large
+ 0 - 0
report/data/test-cases/4aa62d2062983cf6.json


File diff suppressed because it is too large
+ 0 - 0
report/data/test-cases/929f7e89de68255b.json


File diff suppressed because it is too large
+ 0 - 0
report/data/timeline.json


+ 11 - 0
report/export/influxDbData.txt

@@ -0,0 +1,11 @@
+launch_status failed=0 1733275859000000000
+launch_status broken=0 1733275859000000000
+launch_status passed=5 1733275859000000000
+launch_status skipped=0 1733275859000000000
+launch_status unknown=0 1733275859000000000
+launch_time duration=2642 1733275859000000000
+launch_time min_duration=252 1733275859000000000
+launch_time max_duration=959 1733275859000000000
+launch_time sum_duration=2625 1733275859000000000
+launch_retries retries=0 1733275859000000000
+launch_retries run=5 1733275859000000000

+ 10 - 0
report/export/mail.html

@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>Allure Report summary mail</title>
+</head>
+<body>
+    Mail body
+</body>
+</html>

+ 11 - 0
report/export/prometheusData.txt

@@ -0,0 +1,11 @@
+launch_status_failed 0
+launch_status_broken 0
+launch_status_passed 5
+launch_status_skipped 0
+launch_status_unknown 0
+launch_time_duration 2642
+launch_time_min_duration 252
+launch_time_max_duration 959
+launch_time_sum_duration 2625
+launch_retries_retries 0
+launch_retries_run 5

二進制
report/favicon.ico


+ 1 - 0
report/history/categories-trend.json

@@ -0,0 +1 @@
+[{"data":{}}]

+ 1 - 0
report/history/duration-trend.json

@@ -0,0 +1 @@
+[{"data":{"duration":2642}}]

+ 1 - 0
report/history/history-trend.json

@@ -0,0 +1 @@
+[{"data":{"failed":0,"broken":0,"skipped":0,"passed":5,"unknown":0,"total":5}}]

+ 1 - 0
report/history/history.json

@@ -0,0 +1 @@
+{"45ea788a5697856121e5f737c955d696":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"28eb73770dbc7ab3","status":"passed","time":{"start":1733275854399,"stop":1733275854651,"duration":252}}]},"bfe15cfcfd02ff3b67e212065337ce86":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"929f7e89de68255b","status":"passed","time":{"start":1733275852320,"stop":1733275852602,"duration":282}}]},"bfc04ac04360a675c3ac941cf531b313":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"4aa62d2062983cf6","status":"passed","time":{"start":1733275853570,"stop":1733275854395,"duration":825}}]},"2cbe3b216ef2705f026aba2bb4be4cbe":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"150030d5b4de00b3","status":"passed","time":{"start":1733275852607,"stop":1733275853566,"duration":959}}]},"6e9b10317c651d458c5ecee481b9fed2":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"38b64c893e1ac07c","status":"passed","time":{"start":1733275854655,"stop":1733275854962,"duration":307}}]}}

+ 1 - 0
report/history/retry-trend.json

@@ -0,0 +1 @@
+[{"data":{"run":5,"retry":0}}]

+ 23 - 0
report/index.html

@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html dir="ltr">
+<head>
+    <meta charset="utf-8">
+    <title>Allure Report</title>
+    <link rel="favicon" href="favicon.ico?v=2">
+    <link rel="stylesheet" type="text/css" href="styles.css">
+        <link rel="stylesheet" href="plugins/screen-diff/styles.css">
+</head>
+<body>
+<div id="alert"></div>
+<div id="content">
+    <span class="spinner">
+        <span class="spinner__circle"></span>
+    </span>
+</div>
+<div id="popup"></div>
+<script src="app.js"></script>
+    <script src="plugins/behaviors/index.js"></script>
+    <script src="plugins/packages/index.js"></script>
+    <script src="plugins/screen-diff/index.js"></script>
+</body>
+</html>

+ 206 - 0
report/plugins/behaviors/index.js

@@ -0,0 +1,206 @@
+'use strict';
+
+allure.api.addTranslation('en', {
+    tab: {
+        behaviors: {
+            name: 'Behaviors'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Features by stories',
+            showAll: 'show all'
+        }
+    }
+});
+
+allure.api.addTranslation('ru', {
+    tab: {
+        behaviors: {
+            name: 'Функциональность'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Функциональность',
+            showAll: 'показать все'
+        }
+    }
+});
+
+allure.api.addTranslation('zh', {
+    tab: {
+        behaviors: {
+            name: '功能'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: '特性场景',
+            showAll: '显示所有'
+        }
+    }
+});
+
+allure.api.addTranslation('de', {
+    tab: {
+        behaviors: {
+            name: 'Verhalten'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Features nach Stories',
+            showAll: 'Zeige alle'
+        }
+    }
+});
+
+allure.api.addTranslation('nl', {
+    tab: {
+        behaviors: {
+            name: 'Functionaliteit'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Features en story’s',
+            showAll: 'Toon alle'
+        }
+    }
+});
+
+allure.api.addTranslation('he', {
+    tab: {
+        behaviors: {
+            name: 'התנהגויות'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'תכונות לפי סיפורי משתמש',
+            showAll: 'הצג הכול'
+        }
+    }
+});
+
+allure.api.addTranslation('br', {
+    tab: {
+        behaviors: {
+            name: 'Comportamentos'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Funcionalidades por história',
+            showAll: 'Mostrar tudo'
+        }
+    }
+});
+
+allure.api.addTranslation('ja', {
+    tab: {
+        behaviors: {
+            name: '振る舞い'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'ストーリー別の機能',
+            showAll: '全て表示'
+        }
+    }
+});
+
+allure.api.addTranslation('es', {
+    tab: {
+        behaviors: {
+            name: 'Funcionalidades'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Funcionalidades por Historias de Usuario',
+            showAll: 'mostrar todo'
+        }
+    }
+});
+
+allure.api.addTranslation('kr', {
+    tab: {
+        behaviors: {
+            name: '동작'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: '스토리별 기능',
+            showAll: '전체 보기'
+        }
+    }
+});
+
+allure.api.addTranslation('fr', {
+    tab: {
+        behaviors: {
+            name: 'Comportements'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Thèmes par histoires',
+            showAll: 'Montrer tout'
+        }
+    }
+});
+
+allure.api.addTranslation('pl', {
+    tab: {
+        behaviors: {
+            name: 'Zachowania'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Funkcje według historii',
+            showAll: 'pokaż wszystko'
+        }
+    }
+});
+
+allure.api.addTranslation('az', {
+    tab: {
+        behaviors: {
+            name: 'Davranışlar'
+        }
+    },
+    widget: {
+        behaviors: {
+            name: 'Hekayələr üzrə xüsusiyyətlər',
+            showAll: 'hamısını göstər'
+        }
+    }
+});
+
+allure.api.addTab('behaviors', {
+    title: 'tab.behaviors.name', icon: 'fa fa-list',
+    route: 'behaviors(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
+    onEnter: (function (testGroup, testResult, testResultTab) {
+        return new allure.components.TreeLayout({
+            testGroup: testGroup,
+            testResult: testResult,
+            testResultTab: testResultTab,
+            tabName: 'tab.behaviors.name',
+            baseUrl: 'behaviors',
+            url: 'data/behaviors.json',
+            csvUrl: 'data/behaviors.csv'
+        });
+    })
+});
+
+allure.api.addWidget('widgets', 'behaviors', allure.components.WidgetStatusView.extend({
+    rowTag: 'a',
+    title: 'widget.behaviors.name',
+    baseUrl: 'behaviors',
+    showLinks: true
+}));

+ 120 - 0
report/plugins/packages/index.js

@@ -0,0 +1,120 @@
+'use strict';
+
+allure.api.addTranslation('en', {
+    tab: {
+        packages: {
+            name: 'Packages'
+        }
+    }
+});
+
+allure.api.addTranslation('ru', {
+    tab: {
+        packages: {
+            name: 'Пакеты'
+        }
+    }
+});
+
+allure.api.addTranslation('zh', {
+    tab: {
+        packages: {
+            name: '包'
+        }
+    }
+});
+
+allure.api.addTranslation('de', {
+    tab: {
+        packages: {
+            name: 'Pakete'
+        }
+    }
+});
+
+allure.api.addTranslation('nl', {
+    tab: {
+        packages: {
+            name: 'Packages'
+        }
+    }
+});
+
+allure.api.addTranslation('he', {
+    tab: {
+        packages: {
+            name: 'חבילות'
+        }
+    }
+});
+
+allure.api.addTranslation('br', {
+    tab: {
+        packages: {
+            name: 'Pacotes'
+        }
+    }
+});
+
+allure.api.addTranslation('ja', {
+    tab: {
+        packages: {
+            name: 'パッケージ'
+        }
+    }
+});
+
+allure.api.addTranslation('es', {
+    tab: {
+        packages: {
+            name: 'Paquetes'
+        }
+    }
+});
+
+allure.api.addTranslation('kr', {
+    tab: {
+        packages: {
+            name: '패키지'
+        }
+    }
+});
+
+allure.api.addTranslation('fr', {
+    tab: {
+        packages: {
+            name: 'Paquets'
+        }
+    }
+});
+
+allure.api.addTranslation('pl', {
+    tab: {
+        packages: {
+            name: 'Pakiety'
+        }
+    }
+});
+
+allure.api.addTranslation('az', {
+    tab: {
+        packages: {
+            name: 'Paketlər'
+        }
+    }
+});
+
+allure.api.addTab('packages', {
+    title: 'tab.packages.name', icon: 'fa fa-align-left',
+    route: 'packages(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
+    onEnter: (function (testGroup, testResult, testResultTab) {
+        return new allure.components.TreeLayout({
+            testGroup: testGroup,
+            testResult: testResult,
+            testResultTab: testResultTab,
+            tabName: 'tab.packages.name',
+            baseUrl: 'packages',
+            url: 'data/packages.json'
+        });
+    })
+});

+ 200 - 0
report/plugins/screen-diff/index.js

@@ -0,0 +1,200 @@
+(function () {
+    var settings = allure.getPluginSettings('screen-diff', { diffType: 'diff' });
+
+    function renderImage(src) {
+        return (
+            '<div class="screen-diff__container">' +
+            '<img class="screen-diff__image" src="' +
+            src +
+            '">' +
+            '</div>'
+        );
+    }
+
+    function findImage(data, name) {
+        if (data.testStage && data.testStage.attachments) {
+            var matchedImage = data.testStage.attachments.filter(function (attachment) {
+                return attachment.name === name;
+            })[0];
+            if (matchedImage) {
+                return 'data/attachments/' + matchedImage.source;
+            }
+        }
+        return null;
+    }
+
+    function renderDiffContent(type, diffImage, actualImage, expectedImage) {
+        if (type === 'diff') {
+            if (diffImage) {
+                return renderImage(diffImage);
+            }
+        }
+        if (type === 'overlay' && expectedImage) {
+            return (
+                '<div class="screen-diff__overlay screen-diff__container">' +
+                '<img class="screen-diff__image" src="' +
+                expectedImage +
+                '">' +
+                '<div class="screen-diff__image-over">' +
+                '<img class="screen-diff__image" src="' +
+                actualImage +
+                '">' +
+                '</div>' +
+                '</div>'
+            );
+        }
+        if (actualImage) {
+            return renderImage(actualImage);
+        }
+        return 'No diff data provided';
+    }
+
+    var TestResultView = Backbone.Marionette.View.extend({
+        regions: {
+            subView: '.screen-diff-view',
+        },
+        template: function () {
+            return '<div class="screen-diff-view"></div>';
+        },
+        onRender: function () {
+            var data = this.model.toJSON();
+            var testType = data.labels.filter(function (label) {
+                return label.name === 'testType';
+            })[0];
+            var diffImage = findImage(data, 'diff');
+            var actualImage = findImage(data, 'actual');
+            var expectedImage = findImage(data, 'expected');
+            if (!testType || testType.value !== 'screenshotDiff') {
+                return;
+            }
+            this.showChildView(
+                'subView',
+                new ScreenDiffView({
+                    diffImage: diffImage,
+                    actualImage: actualImage,
+                    expectedImage: expectedImage,
+                }),
+            );
+        },
+    });
+    var ErrorView = Backbone.Marionette.View.extend({
+        templateContext: function () {
+            return this.options;
+        },
+        template: function (data) {
+            return '<pre class="screen-diff-error">' + data.error + '</pre>';
+        },
+    });
+    var AttachmentView = Backbone.Marionette.View.extend({
+        regions: {
+            subView: '.screen-diff-view',
+        },
+        template: function () {
+            return '<div class="screen-diff-view"></div>';
+        },
+        onRender: function () {
+            jQuery
+                .getJSON(this.options.sourceUrl)
+                .then(this.renderScreenDiffView.bind(this), this.renderErrorView.bind(this));
+        },
+        renderErrorView: function (error) {
+            console.log(error);
+            this.showChildView(
+                'subView',
+                new ErrorView({
+                    error: error.statusText,
+                }),
+            );
+        },
+        renderScreenDiffView: function (data) {
+            this.showChildView(
+                'subView',
+                new ScreenDiffView({
+                    diffImage: data.diff,
+                    actualImage: data.actual,
+                    expectedImage: data.expected,
+                }),
+            );
+        },
+    });
+
+    var ScreenDiffView = Backbone.Marionette.View.extend({
+        className: 'pane__section',
+        events: function () {
+            return {
+                ['click [name="screen-diff-type-' + this.cid + '"]']: 'onDiffTypeChange',
+                'mousemove .screen-diff__overlay': 'onOverlayMove',
+            };
+        },
+        initialize: function (options) {
+            this.diffImage = options.diffImage;
+            this.actualImage = options.actualImage;
+            this.expectedImage = options.expectedImage;
+            this.radioName = 'screen-diff-type-' + this.cid;
+        },
+        templateContext: function () {
+            return {
+                diffType: settings.get('diffType'),
+                diffImage: this.diffImage,
+                actualImage: this.actualImage,
+                expectedImage: this.expectedImage,
+                radioName: this.radioName,
+            };
+        },
+        template: function (data) {
+            if (!data.diffImage && !data.actualImage && !data.expectedImage) {
+                return '';
+            }
+
+            return (
+                '<h3 class="pane__section-title">Screen Diff</h3>' +
+                '<div class="screen-diff__content">' +
+                '<div class="screen-diff__switchers">' +
+                '<label><input type="radio" name="' +
+                data.radioName +
+                '" value="diff"> Show diff</label>' +
+                '<label><input type="radio" name="' +
+                data.radioName +
+                '" value="overlay"> Show overlay</label>' +
+                '</div>' +
+                renderDiffContent(
+                    data.diffType,
+                    data.diffImage,
+                    data.actualImage,
+                    data.expectedImage,
+                ) +
+                '</div>'
+            );
+        },
+        adjustImageSize: function (event) {
+            var overImage = this.$(event.target);
+            overImage.width(overImage.width());
+        },
+        onRender: function () {
+            const diffType = settings.get('diffType');
+            this.$('[name="' + this.radioName + '"][value="' + diffType + '"]').prop(
+                'checked',
+                true,
+            );
+            if (diffType === 'overlay') {
+                this.$('.screen-diff__image-over img').on('load', this.adjustImageSize.bind(this));
+            }
+        },
+        onOverlayMove: function (event) {
+            var pageX = event.pageX;
+            var containerScroll = this.$('.screen-diff__container').scrollLeft();
+            var elementX = event.currentTarget.getBoundingClientRect().left;
+            var delta = pageX - elementX + containerScroll;
+            this.$('.screen-diff__image-over').width(delta);
+        },
+        onDiffTypeChange: function (event) {
+            settings.save('diffType', event.target.value);
+            this.render();
+        },
+    });
+    allure.api.addTestResultBlock(TestResultView, { position: 'before' });
+    allure.api.addAttachmentViewer('application/vnd.allure.image.diff', {
+        View: AttachmentView,
+        icon: 'fa fa-exchange',
+    });
+})();

+ 30 - 0
report/plugins/screen-diff/styles.css

@@ -0,0 +1,30 @@
+.screen-diff__switchers {
+  margin-bottom: 1em;
+}
+
+.screen-diff__switchers label + label {
+  margin-left: 1em;
+}
+
+.screen-diff__overlay {
+  position: relative;
+  cursor: col-resize;
+}
+
+.screen-diff__container {
+  overflow-x: auto;
+}
+
+.screen-diff__image-over {
+  top: 0;
+  left: 0;
+  bottom: 0;
+  background: #fff;
+  position: absolute;
+  overflow: hidden;
+  box-shadow: 2px 0 1px -1px #aaa;
+}
+
+.screen-diff-error {
+  color: #fd5a3e;
+}

File diff suppressed because it is too large
+ 3 - 0
report/styles.css


+ 1 - 0
report/widgets/behaviors.json

@@ -0,0 +1 @@
+{"total":1,"items":[{"uid":"d6ad39a7cacb8ddf63ee40b5a60cc62f","name":"青春重庆","statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1}}]}

+ 1 - 0
report/widgets/categories-trend.json

@@ -0,0 +1 @@
+[{"data":{}}]

+ 1 - 0
report/widgets/categories.json

@@ -0,0 +1 @@
+{"total":0,"items":[]}

+ 1 - 0
report/widgets/duration-trend.json

@@ -0,0 +1 @@
+[{"data":{"duration":2642}}]

+ 1 - 0
report/widgets/duration.json

@@ -0,0 +1 @@
+[{"uid":"4aa62d2062983cf6","name":"模板中心","time":{"start":1733275853570,"stop":1733275854395,"duration":825},"status":"passed","severity":"normal"},{"uid":"929f7e89de68255b","name":"我的空间","time":{"start":1733275852320,"stop":1733275852602,"duration":282},"status":"passed","severity":"normal"},{"uid":"38b64c893e1ac07c","name":"AI海报","time":{"start":1733275854655,"stop":1733275854962,"duration":307},"status":"passed","severity":"normal"},{"uid":"150030d5b4de00b3","name":"为你推荐","time":{"start":1733275852607,"stop":1733275853566,"duration":959},"status":"passed","severity":"normal"},{"uid":"28eb73770dbc7ab3","name":"AI海报","time":{"start":1733275854399,"stop":1733275854651,"duration":252},"status":"passed","severity":"normal"}]

+ 1 - 0
report/widgets/environment.json

@@ -0,0 +1 @@
+[]

+ 1 - 0
report/widgets/executors.json

@@ -0,0 +1 @@
+[]

+ 1 - 0
report/widgets/history-trend.json

@@ -0,0 +1 @@
+[{"data":{"failed":0,"broken":0,"skipped":0,"passed":5,"unknown":0,"total":5}}]

+ 1 - 0
report/widgets/launch.json

@@ -0,0 +1 @@
+[]

+ 1 - 0
report/widgets/retry-trend.json

@@ -0,0 +1 @@
+[{"data":{"run":5,"retry":0}}]

+ 1 - 0
report/widgets/severity.json

@@ -0,0 +1 @@
+[{"uid":"150030d5b4de00b3","name":"为你推荐","time":{"start":1733275852607,"stop":1733275853566,"duration":959},"status":"passed","severity":"normal"},{"uid":"4aa62d2062983cf6","name":"模板中心","time":{"start":1733275853570,"stop":1733275854395,"duration":825},"status":"passed","severity":"normal"},{"uid":"38b64c893e1ac07c","name":"AI海报","time":{"start":1733275854655,"stop":1733275854962,"duration":307},"status":"passed","severity":"normal"},{"uid":"929f7e89de68255b","name":"我的空间","time":{"start":1733275852320,"stop":1733275852602,"duration":282},"status":"passed","severity":"normal"},{"uid":"28eb73770dbc7ab3","name":"AI海报","time":{"start":1733275854399,"stop":1733275854651,"duration":252},"status":"passed","severity":"normal"}]

+ 1 - 0
report/widgets/status-chart.json

@@ -0,0 +1 @@
+[{"uid":"4aa62d2062983cf6","name":"模板中心","time":{"start":1733275853570,"stop":1733275854395,"duration":825},"status":"passed","severity":"normal"},{"uid":"929f7e89de68255b","name":"我的空间","time":{"start":1733275852320,"stop":1733275852602,"duration":282},"status":"passed","severity":"normal"},{"uid":"38b64c893e1ac07c","name":"AI海报","time":{"start":1733275854655,"stop":1733275854962,"duration":307},"status":"passed","severity":"normal"},{"uid":"150030d5b4de00b3","name":"为你推荐","time":{"start":1733275852607,"stop":1733275853566,"duration":959},"status":"passed","severity":"normal"},{"uid":"28eb73770dbc7ab3","name":"AI海报","time":{"start":1733275854399,"stop":1733275854651,"duration":252},"status":"passed","severity":"normal"}]

+ 1 - 0
report/widgets/suites.json

@@ -0,0 +1 @@
+{"total":1,"items":[{"uid":"86abcc46617c603d802c3e378b13740e","name":"test_case","statistic":{"failed":0,"broken":0,"skipped":0,"passed":5,"unknown":0,"total":5}}]}

+ 1 - 0
report/widgets/summary.json

@@ -0,0 +1 @@
+{"reportName":"Allure Report","testRuns":[],"statistic":{"failed":0,"broken":0,"skipped":0,"passed":5,"unknown":0,"total":5},"time":{"start":1733275852320,"stop":1733275854962,"duration":2642,"minDuration":252,"maxDuration":959,"sumDuration":2625}}

File diff suppressed because it is too large
+ 9 - 0
temps/11cf5ec4-524d-4e7b-9922-f620e584a45c-attachment.txt


+ 1 - 0
temps/1e771e0b-2690-42e7-96d0-6eeeac1da44d-container.json

@@ -0,0 +1 @@
+{"uuid": "90b34911-b9d2-4a84-8282-77ee3c14db57", "children": ["215dac79-ba2a-4de7-8fb3-59b91ad1e5a0", "fb2912df-0f8f-44ba-b826-336565240bef", "5282fb62-f8b3-4ddc-ac02-52df6a915d9a", "22e97867-bd1f-43f5-83cf-706755066ecf", "1cb48e0b-e20e-42af-9921-192f532eea3f"], "befores": [{"name": "clear_yam", "status": "passed", "start": 1733275852318, "stop": 1733275852319}], "start": 1733275852318, "stop": 1733275854963}

File diff suppressed because it is too large
+ 9 - 0
temps/255cf84a-85ea-4eb1-95f7-5b720d15f9cc-attachment.txt


+ 1 - 0
temps/3b7fc5e2-aa43-4bc6-8aae-927ca64ff5fb-result.json

@@ -0,0 +1 @@
+{"name": "模板中心", "status": "passed", "attachments": [{"name": "log", "source": "255cf84a-85ea-4eb1-95f7-5b720d15f9cc-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "arg_names", "value": "{'name': '模板中心', 'request': {'method': 'post', 'url': '/aicloud-api/xcdmx/interface/draftDecisionController/fetchList', 'headers': {'opertoken': '${read_yaml(token)}', 'Mi': '${genRat(\"/aicloud-api/xcdmx/interface/draftDecisionController/fetchList\")}'}, 'json': {}}, 'validate': [{'contains': 200}]}"}], "start": 1733275853570, "stop": 1733275854395, "uuid": "5282fb62-f8b3-4ddc-ac02-52df6a915d9a", "historyId": "bfc04ac04360a675c3ac941cf531b313", "testCaseId": "1a0100a896074ab5ab9d1cca8353231d", "fullName": "test_case.test_allAPI.TestAPI#test_003_模板中心", "labels": [{"name": "feature", "value": "用户管理模块"}, {"name": "epic", "value": "青春重庆"}, {"name": "parentSuite", "value": "test_case"}, {"name": "suite", "value": "test_allAPI"}, {"name": "subSuite", "value": "TestAPI"}, {"name": "host", "value": "jwdiannao"}, {"name": "thread", "value": "10132-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_allAPI"}]}

+ 1 - 0
temps/619cf5f0-9d0e-40cf-8974-a637400b87e4-result.json

@@ -0,0 +1 @@
+{"name": "为你推荐", "status": "passed", "attachments": [{"name": "log", "source": "11cf5ec4-524d-4e7b-9922-f620e584a45c-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "arg_names", "value": "{'name': '为你推荐', 'request': {'method': 'post', 'url': '/aicloud-api/xcdmx/interface/draftDecisionController/fetchList', 'headers': {'opertoken': '${read_yaml(token)}', 'Mi': '${genRat(\"/aicloud-api/xcdmx/interface/draftDecisionController/fetchList\")}'}, 'json': {'categoryIds': [106180212], 'cursorId': ''}}, 'validate': [{'contains': 200}]}"}], "start": 1733275852607, "stop": 1733275853566, "uuid": "fb2912df-0f8f-44ba-b826-336565240bef", "historyId": "2cbe3b216ef2705f026aba2bb4be4cbe", "testCaseId": "3a278572ed5bec1e81f93fd2e7276bf4", "fullName": "test_case.test_allAPI.TestAPI#test_002_为你推荐", "labels": [{"name": "feature", "value": "用户管理模块"}, {"name": "epic", "value": "青春重庆"}, {"name": "parentSuite", "value": "test_case"}, {"name": "suite", "value": "test_allAPI"}, {"name": "subSuite", "value": "TestAPI"}, {"name": "host", "value": "jwdiannao"}, {"name": "thread", "value": "10132-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_allAPI"}]}

+ 1 - 0
temps/65cd915c-8d42-4421-b128-6d6822c0054c-result.json

@@ -0,0 +1 @@
+{"name": "AI海报", "status": "passed", "attachments": [{"name": "log", "source": "d466fcc6-2c73-480d-afec-0359695273e1-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "arg_names", "value": "{'name': 'AI海报', 'request': {'method': 'post', 'url': '/aicloud-api/xcdmx/interface/api/AlterAIController/crateRegionalLayoutAI', 'headers': {'opertoken': '${read_yaml(token)}', 'Mi': '${genRat(\"/aicloud-api/xcdmx/interface/api/AlterAIController/crateRegionalLayoutAI\")}'}, 'json': {'batch_size': 1, 'seq_id': '${get_random_string()}', 'content': '操场上奔跑', 'extra_message': [{'key': 'instances', 'value': ['操场上奔跑']}, {'key': 'bboxes', 'value': [[0.45117, 0.45117, 0.54883, 0.54883]]}], 'resolution_ratio': [1, 1]}}, 'validate': [{'contains': 200}]}"}], "start": 1733275854655, "stop": 1733275854962, "uuid": "1cb48e0b-e20e-42af-9921-192f532eea3f", "historyId": "6e9b10317c651d458c5ecee481b9fed2", "testCaseId": "a0dbc95f9f4f82a282eb71ab1574bfaf", "fullName": "test_case.test_allAPI.TestAPI#test_005_AI绘图", "labels": [{"name": "feature", "value": "用户管理模块"}, {"name": "epic", "value": "青春重庆"}, {"name": "parentSuite", "value": "test_case"}, {"name": "suite", "value": "test_allAPI"}, {"name": "subSuite", "value": "TestAPI"}, {"name": "host", "value": "jwdiannao"}, {"name": "thread", "value": "10132-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_allAPI"}]}

+ 1 - 0
temps/7e12ab07-b3b4-4277-b193-46b79cdeb46c-container.json

@@ -0,0 +1 @@
+{"uuid": "d6b30d2c-d90d-4ef2-877c-ae0ac4bf61ba", "befores": [{"name": "arg_names", "status": "passed", "start": 1733275852606, "stop": 1733275852606}], "start": 1733275852606, "stop": 1733275853567}

+ 1 - 0
temps/86a34526-660b-4c4b-87ba-51d0472fa07d-container.json

@@ -0,0 +1 @@
+{"uuid": "500459ef-2f7d-4eff-b1b0-e2a75839aae6", "befores": [{"name": "arg_names", "status": "passed", "start": 1733275853570, "stop": 1733275853570}], "start": 1733275853570, "stop": 1733275854396}

+ 12 - 0
temps/87976a40-31d9-4dbf-a5dd-085517fb19cd-attachment.txt

@@ -0,0 +1,12 @@
+INFO     log:log_util.py:102 --------接口测试开始--------
+INFO     log:log_util.py:102 yaml框架检查基本通过
+INFO     log:log_util.py:102 请求名称:AI海报
+INFO     log:log_util.py:102 请求方式:post
+INFO     log:log_util.py:102 请求路径:https://ai.teleagi.cn/aicloud-api/xcdmx/interface/posterGeneration/aSentence
+INFO     log:log_util.py:102 请求头:{'opertoken': 'eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAGWQTU7DMBSE7-J1ItmxYztZI6QK1E3LAZzkNRgSO_KP-Kl6FLgft8BWaVRgOd-8GY3eET0FjVpEZSdJN-ASwyBK1qimbCjrStofOOGV7CsqUYG0CqglglKCmWCiQD52Ke3ffIA5-94naRdwKmhrElFx-CEPHlwC8LqcKwRu6lwRwCgTNvmMSE4ZrpiQjDS4ZnVTpURMwX825rxuJEv22t0ekU5nJk5TgXoHKsBez3AhcRn-kAGm20mNF2nU1XEq3F7pRXn_Yt1aD7PS02o-WgPbOHd5RFopCM_TOT-vM5s1ltXORtevxQ5GnZ7nftODdj7c21Eb1AYXoUBdfL_UnNLP7DOY83b09fG5u7nbZ4JO3-WyAzrQAQAA.YNoA4j-Asy4GvhbB6atkkEfOno49lwMDLqgf5hZp_EhVGpILu7BNVsB7pvleDGrMU30asoXjxEmJqqnvzuCAbA', 'Mi': 'pXD+ao03WaRQlobG1sxmnOFVlxGpGHtzJ2BrrqT2WfecjTsHIlR2TcrfDtYl0ijTZVfWDnNt0QJf0F3CbAis8KL1VUbOIwAHo3bQQXcV3IZ5h8xlo2AelqYhE3WRg26mHXtnlRRbRcmy/KMv5ZoUNEWoGjnDfROM49aVdxhOHRGyLPzNxsA2AsJZoGZsfzGq'}
+INFO     log:log_util.py:102 请求json参数:{'seq_id': '7094075445608730p9sifjve41', 'prompt': '生成一张冬至宣传海报,一家人一桌暖心聚会,幸福满溢这个寒冬。上面写着“冬至暖心', 'content': '生成一张冬至宣传海报,一家人一桌暖心聚会,幸福满溢这个寒冬。上面写着“冬至暖心'}
+INFO     log:log_util.py:102 实际结果: <Response [200]>
+INFO     log:log_util.py:102 预期结果:[{'contains': 200}]
+INFO     log:log_util.py:102 实际结果:{'success': True, 'code': 200, 'msg': '调用成功', 'data': {'code': '10000', 'msg': '调用成功'}}
+INFO     log:log_util.py:102 接口测试成功
+INFO     log:log_util.py:102 ------接口测试结束————————

+ 1 - 0
temps/aa04927a-182c-4604-99cc-77a1c189da8e-container.json

@@ -0,0 +1 @@
+{"uuid": "ca1241d0-804b-4dfe-80e1-57a63fdb8e0c", "befores": [{"name": "arg_names", "status": "passed", "start": 1733275854654, "stop": 1733275854655}], "start": 1733275854654, "stop": 1733275854962}

+ 1 - 0
temps/c1db90c5-ec1d-43b3-a16b-18e594634549-container.json

@@ -0,0 +1 @@
+{"uuid": "815d4b96-291a-4e93-8b29-aae3a45e02ec", "befores": [{"name": "arg_names", "status": "passed", "start": 1733275854398, "stop": 1733275854398}], "start": 1733275854398, "stop": 1733275854651}

+ 1 - 0
temps/c8e522cc-5681-42c6-920a-1831fde83857-result.json

@@ -0,0 +1 @@
+{"name": "我的空间", "status": "passed", "attachments": [{"name": "log", "source": "d133dd30-e9b6-4e32-9c11-8fc36fb202c5-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "arg_names", "value": "{'name': '我的空间', 'request': {'method': 'post', 'url': '/aicloud-api/xcdmx/file/queryImage', 'headers': {'opertoken': '${read_yaml(token)}', 'Mi': '${genRat(\"/aicloud-api/xcdmx/file/queryImage\")}'}, 'json': {'pageNo': 1, 'pageSize': 10, 'name': ''}}, 'validate': [{'contains': 200}]}"}], "start": 1733275852320, "stop": 1733275852602, "uuid": "215dac79-ba2a-4de7-8fb3-59b91ad1e5a0", "historyId": "bfe15cfcfd02ff3b67e212065337ce86", "testCaseId": "8e42ceaa2b5203ae8dafe450ec686d9a", "fullName": "test_case.test_allAPI.TestAPI#test_001_我的空间", "labels": [{"name": "feature", "value": "用户管理模块"}, {"name": "epic", "value": "青春重庆"}, {"name": "parentSuite", "value": "test_case"}, {"name": "suite", "value": "test_allAPI"}, {"name": "subSuite", "value": "TestAPI"}, {"name": "host", "value": "jwdiannao"}, {"name": "thread", "value": "10132-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_allAPI"}]}

File diff suppressed because it is too large
+ 9 - 0
temps/d133dd30-e9b6-4e32-9c11-8fc36fb202c5-attachment.txt


+ 12 - 0
temps/d466fcc6-2c73-480d-afec-0359695273e1-attachment.txt

@@ -0,0 +1,12 @@
+INFO     log:log_util.py:102 --------接口测试开始--------
+INFO     log:log_util.py:102 yaml框架检查基本通过
+INFO     log:log_util.py:102 请求名称:AI海报
+INFO     log:log_util.py:102 请求方式:post
+INFO     log:log_util.py:102 请求路径:https://ai.teleagi.cn/aicloud-api/xcdmx/interface/api/AlterAIController/crateRegionalLayoutAI
+INFO     log:log_util.py:102 请求头:{'opertoken': 'eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAGWQTU7DMBSE7-J1ItmxYztZI6QK1E3LAZzkNRgSO_KP-Kl6FLgft8BWaVRgOd-8GY3eET0FjVpEZSdJN-ASwyBK1qimbCjrStofOOGV7CsqUYG0CqglglKCmWCiQD52Ke3ffIA5-94naRdwKmhrElFx-CEPHlwC8LqcKwRu6lwRwCgTNvmMSE4ZrpiQjDS4ZnVTpURMwX825rxuJEv22t0ekU5nJk5TgXoHKsBez3AhcRn-kAGm20mNF2nU1XEq3F7pRXn_Yt1aD7PS02o-WgPbOHd5RFopCM_TOT-vM5s1ltXORtevxQ5GnZ7nftODdj7c21Eb1AYXoUBdfL_UnNLP7DOY83b09fG5u7nbZ4JO3-WyAzrQAQAA.YNoA4j-Asy4GvhbB6atkkEfOno49lwMDLqgf5hZp_EhVGpILu7BNVsB7pvleDGrMU30asoXjxEmJqqnvzuCAbA', 'Mi': 'pXD+ao03WaRQlobG1sxmnDIXenh41gjMs35rMujnetmEDjy8/1/EzZ/En560pa4y67XalOsn9qz59Z4cDXwJ3aL1VUbOIwAHo3bQQXcV3IZ5h8xlo2AelqYhE3WRg26mjC1mB9l4Z1+qv68cY07AZ8UWTs/92ih+SrF/p0oLnCoBtm8z9+1MFdTM4+x49M6Z2KPwO5+I4qfPnMfJnA0M8g=='}
+INFO     log:log_util.py:102 请求json参数:{'batch_size': 1, 'seq_id': '2276303286248130p9sifjve41', 'content': '操场上奔跑', 'extra_message': [{'key': 'instances', 'value': ['操场上奔跑']}, {'key': 'bboxes', 'value': [[0.45117, 0.45117, 0.54883, 0.54883]]}], 'resolution_ratio': [1, 1]}
+INFO     log:log_util.py:102 实际结果: <Response [200]>
+INFO     log:log_util.py:102 预期结果:[{'contains': 200}]
+INFO     log:log_util.py:102 实际结果:{'success': True, 'code': 200, 'msg': '调用成功', 'data': {'code': '10000', 'msg': '调用成功'}}
+INFO     log:log_util.py:102 接口测试成功
+INFO     log:log_util.py:102 ------接口测试结束————————

+ 1 - 0
temps/dd92cd1a-6d8d-4368-a335-ccdf8805aace-container.json

@@ -0,0 +1 @@
+{"uuid": "5673da9b-6bea-4e23-b999-5bd5ee4169ca", "befores": [{"name": "arg_names", "status": "passed", "start": 1733275852319, "stop": 1733275852319}], "start": 1733275852319, "stop": 1733275852602}

+ 1 - 0
temps/e1fffe5f-7a13-4c33-b72a-8f5de3521717-result.json

@@ -0,0 +1 @@
+{"name": "AI海报", "status": "passed", "attachments": [{"name": "log", "source": "87976a40-31d9-4dbf-a5dd-085517fb19cd-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "arg_names", "value": "{'name': 'AI海报', 'request': {'method': 'post', 'url': '/aicloud-api/xcdmx/interface/posterGeneration/aSentence', 'headers': {'opertoken': '${read_yaml(token)}', 'Mi': '${genRat(\"/aicloud-api/xcdmx/interface/posterGeneration/aSentence\")}'}, 'json': {'seq_id': '${get_random_string()}', 'prompt': '生成一张冬至宣传海报,一家人一桌暖心聚会,幸福满溢这个寒冬。上面写着“冬至暖心', 'content': '生成一张冬至宣传海报,一家人一桌暖心聚会,幸福满溢这个寒冬。上面写着“冬至暖心'}}, 'validate': [{'contains': 200}]}"}], "start": 1733275854399, "stop": 1733275854651, "uuid": "22e97867-bd1f-43f5-83cf-706755066ecf", "historyId": "45ea788a5697856121e5f737c955d696", "testCaseId": "87046a03f9e472ba0de98bf3222e0f90", "fullName": "test_case.test_allAPI.TestAPI#test_004_AI海报", "labels": [{"name": "feature", "value": "用户管理模块"}, {"name": "epic", "value": "青春重庆"}, {"name": "parentSuite", "value": "test_case"}, {"name": "suite", "value": "test_allAPI"}, {"name": "subSuite", "value": "TestAPI"}, {"name": "host", "value": "jwdiannao"}, {"name": "thread", "value": "10132-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_allAPI"}]}

+ 1 - 0
temps/ffa34966-2093-4967-9368-48e0b37f88d4-container.json

@@ -0,0 +1 @@
+{"uuid": "b3cbf28a-c225-49ad-bc68-4e9a9c52a853", "children": ["215dac79-ba2a-4de7-8fb3-59b91ad1e5a0", "fb2912df-0f8f-44ba-b826-336565240bef", "5282fb62-f8b3-4ddc-ac02-52df6a915d9a", "22e97867-bd1f-43f5-83cf-706755066ecf", "1cb48e0b-e20e-42af-9921-192f532eea3f"], "befores": [{"name": "_session_faker", "status": "passed", "start": 1733275852194, "stop": 1733275852318}], "start": 1733275852194, "stop": 1733275854964}

Some files were not shown because too many files changed in this diff