{"id":97,"date":"2026-08-05T10:28:50","date_gmt":"2026-08-05T02:28:50","guid":{"rendered":"https:\/\/www.deartester.com\/index.php\/2026\/08\/05\/%e5%91%8a%e5%88%ab%e6%b5%8b%e8%af%95%e6%8a%a5%e5%91%8a%e7%94%a8excel%ef%bc%9aallure%e8%87%aa%e5%8a%a8%e7%94%9f%e6%88%90%e5%8f%af%e8%a7%86%e5%8c%96%e6%8a%a5%e5%91%8a%e6%9b%b4%e7%9b%b4%e8%a7%82\/"},"modified":"2026-09-03T23:17:22","modified_gmt":"2026-09-03T15:17:22","slug":"%e5%91%8a%e5%88%ab%e6%b5%8b%e8%af%95%e6%8a%a5%e5%91%8a%e7%94%a8excel%ef%bc%9aallure%e8%87%aa%e5%8a%a8%e7%94%9f%e6%88%90%e5%8f%af%e8%a7%86%e5%8c%96%e6%8a%a5%e5%91%8a%e6%9b%b4%e7%9b%b4%e8%a7%82","status":"publish","type":"post","link":"https:\/\/www.deartester.com\/index.php\/2026\/08\/05\/%e5%91%8a%e5%88%ab%e6%b5%8b%e8%af%95%e6%8a%a5%e5%91%8a%e7%94%a8excel%ef%bc%9aallure%e8%87%aa%e5%8a%a8%e7%94%9f%e6%88%90%e5%8f%af%e8%a7%86%e5%8c%96%e6%8a%a5%e5%91%8a%e6%9b%b4%e7%9b%b4%e8%a7%82\/","title":{"rendered":"\u544a\u522b\u6d4b\u8bd5\u62a5\u544a\u7528Excel\uff1aAllure\u81ea\u52a8\u751f\u6210\u53ef\u89c6\u5316\u62a5\u544a\u66f4\u76f4\u89c2"},"content":{"rendered":"<section style=\"text-indent: 2em;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u4e0a\u5468\u4e94\u4e0b\u5348\uff0c\u6211\u82b1\u4e86\u4e24\u5c0f\u65f6\u6574\u7406\u51fa\u4e00\u4efd\u4e8c\u5341\u9875\u7684\u6d4b\u8bd5\u62a5\u544a\u4ea4\u7ed9\u9886\u5bfc\u3002\u62a5\u544a\u91cc\u662f\u7cbe\u5fc3\u6392\u7248\u7684Excel\u8868\u683c\uff0c\u5173\u952e\u6570\u636e\u7528\u4e0d\u540c\u989c\u8272\u6807\u6ce8\uff0c\u8fd8\u914d\u4e86\u8bf4\u660e\u6587\u5b57\u3002\u9886\u5bfc\u63a5\u8fc7\u53bb\u7ffb\u4e86\u4e0d\u5230\u4e24\u9875\u5c31\u653e\u4e0b\u4e86\uff0c\u8bf4\u4e86\u4e00\u53e5\uff1a<\/span><\/span><\/span><\/section>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span leaf=\"\" style=\"color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&quot;mp-quote&quot;, &quot;PingFang SC&quot;, system-ui, -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(255, 41, 65);\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-ratio=\"1\" data-w=\"20\" style=\"display:inline-block;width:20px;vertical-align:middle;background-size:cover;\" src=\"https:\/\/res.wx.qq.com\/t\/wx_fed\/we-emoji\/res\/assets\/Expression\/Expression_4@2x.png\" \/><\/span><span textstyle=\"\" style=\"font-size: 15px;color: #000000;\">\uff1a<\/span><span textstyle=\"\" style=\"font-size: 15px;color: rgb(255, 41, 65);\">&#8220;\u592a\u957f\u4e86\uff0c\u6211\u5c31\u60f3\u77e5\u9053\u54ea\u4e9b\u7528\u4f8b\u6ca1\u901a\u8fc7\uff1f\u8ddf\u4e0a\u5468\u6bd4\u600e\u4e48\u6837\uff1f\u5931\u8d25\u7684\u7528\u4f8b\u662f\u8c01\u8d1f\u8d23\u7684\uff1f&#8221;<\/span><\/span><\/span><\/span><\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u90a3\u4e00\u523b\u6211\u7a81\u7136\u610f\u8bc6\u5230\uff1a\u4e0d\u662f\u9886\u5bfc\u4e0d\u91cd\u89c6\u6d4b\u8bd5\uff0c\u800c\u662f<\/span><\/span><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(2, 30, 170);font-weight: bold;\">\u6211<\/span><span textstyle=\"\" style=\"font-size: 15px;color: rgb(2, 30, 170);\">\u4ea4\u51fa\u53bb\u7684\u4e1c\u897f\uff0c\u672c\u8eab\u5c31\u4e0d\u662f\u7ed9\u51b3\u7b56\u8005\u770b\u7684<\/span><\/span><\/strong><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u3002Excel\u8868\u683c\u662f\u6d4b\u8bd5\u5de5\u7a0b\u5e08\u7684\u5185\u90e8\u8bed\u8a00\uff0c\u800c\u9886\u5bfc\u9700\u8981\u7684\u662f\u4e00\u76ee\u4e86\u7136\u7684\u7ed3\u8bba\u2014\u2014<\/span><span textstyle=\"\" style=\"font-size: 15px;color: rgb(123, 12, 0);\">\u54ea\u4e9b\u901a\u8fc7<\/span><span textstyle=\"\" style=\"font-size: 15px;\">\u3001<\/span><span textstyle=\"\" style=\"font-size: 15px;color: rgb(123, 12, 0);\">\u54ea\u4e9b\u5931\u8d25<\/span><span textstyle=\"\" style=\"font-size: 15px;\">\u3001<\/span><span textstyle=\"\" style=\"font-size: 15px;color: rgb(123, 12, 0);\">\u98ce\u9669\u5728\u54ea\u91cc<\/span><span textstyle=\"\" style=\"font-size: 15px;\">\u3001<\/span><span textstyle=\"\" style=\"font-size: 15px;color: rgb(123, 12, 0);\">\u8d8b\u52bf\u662f\u597d\u662f\u574f<\/span><span textstyle=\"\" style=\"font-size: 15px;\">\u3002<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u540e\u6765\u6211\u6362\u4e86\u79cd\u65b9\u5f0f\uff0c\u628a\u540c\u6837\u7684\u6d4b\u8bd5\u7ed3\u679c\u5bfc\u8fdbAllure\u751f\u6210\u4e86\u4e00\u5f20\u53ef\u89c6\u5316\u62a5\u544a\u3002\u62a5\u544a\u91cc\u6709\u4e00\u5f20\u901a\u8fc7\u7387\u997c\u56fe\u3001\u4e00\u6761\u5386\u53f2\u8d8b\u52bf\u6298\u7ebf\u56fe\uff0c\u6bcf\u4e2a\u5931\u8d25\u7684\u7528\u4f8b\u70b9\u8fdb\u53bb\u80fd\u770b\u5230\u622a\u56fe\u3001\u8bf7\u6c42\u53c2\u6570\u548c\u5806\u6808\u4fe1\u606f\u3002\u9886\u5bfc\u62ff\u7740\u770b\u4e86\u4e94\u5206\u949f\uff0c\u4e3b\u52a8\u95ee\u6211\u4e09\u4e2a\u95ee\u9898\uff1a&#8221;<\/span><span textstyle=\"\" style=\"font-size: 15px;color: #021eaa;\">\u8fd9\u4e2a\u5931\u8d25\u7684\u7528\u4f8b\u662f\u4ec0\u4e48\u60c5\u51b5\uff1f<\/span><span textstyle=\"\" style=\"font-size: 15px;\">&#8220;&#8221;<\/span><span textstyle=\"\" style=\"font-size: 15px;color: #021eaa;\">\u4e0a\u5468\u7684\u901a\u8fc7\u7387\u6bd4\u8fd9\u5468\u9ad8\u591a\u5c11\uff1f<\/span><span textstyle=\"\" style=\"font-size: 15px;\">&#8220;&#8221;<\/span><span textstyle=\"\" style=\"font-size: 15px;color: #021eaa;\">\u80fd\u4e0d\u80fd\u628a\u8fed\u4ee3\u8d8b\u52bf\u56fe\u53d1\u7ed9\u6211\uff1f<\/span><span textstyle=\"\" style=\"font-size: 15px;\">&#8220;\u4e09\u4e2a\u95ee\u9898\u8ba9\u6211\u786e\u8ba4\u4e86\u2014\u2014\u4ed6\u771f\u7684\u5728\u770b\uff0c\u800c\u4e14\u770b\u61c2\u4e86<img decoding=\"async\" class=\"rich_pages wxw-img\" data-ratio=\"1\" data-w=\"20\" style=\"display:inline-block;width:20px;vertical-align:middle;background-size:cover;\" src=\"https:\/\/res.wx.qq.com\/t\/wx_fed\/we-emoji\/res\/assets\/newemoji\/2_05.png\" \/><\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u8fd9\u5c31\u662fAllure\u7684\u4ef7\u503c\u6240\u5728\uff1a<\/span><\/span><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(64, 118, 0);\">\u8ba9\u6d4b\u8bd5\u7ed3\u679c\u53d8\u6210\u4e00\u79cd\u53ef\u4ee5\u5bf9\u8bdd\u7684\u6c9f\u901a\u8bed\u8a00<\/span><\/span><\/strong><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\uff0c\u800c\u4e0d\u53ea\u662f\u4e00\u5806\u6570\u636e\u7684\u7f57\u5217\u3002<\/span><\/span><\/p>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">01<\/span><\/span><span leaf=\"\">&nbsp;<span textstyle=\"\" style=\"font-size: 18px;color: rgb(2, 30, 170);font-weight: bold;\">\u73af\u5883\u642d\u5efa\u2014\u20143\u6b65\u8dd1\u901a\u9996\u4e2a\u62a5\u544a<\/span><\/span><\/h2>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">1.1 \u5148\u8bf4\u8bf4\u6211\u7684\u80cc\u666f<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-weight: bold;\">\u6211\u5165\u804c\u7684\u65f6\u5019\uff0c\u56e2\u961f\u7684\u6d4b\u8bd5\u62a5\u544a\u6d41\u7a0b\u662f\u8fd9\u6837\u7684\uff1a<\/span><span textstyle=\"\" style=\"color: #7a4fd6;\">\u6d4b\u8bd5\u8dd1\u5b8c\uff0c\u5bfc\u51faJUnit XML\uff0c\u7528Python\u811a\u672c\u8f6c\u6210Excel\uff0c\u6d4b\u8bd5\u7ec4\u957f\u624b\u52a8\u586b\u5199\u6c47\u603b\u90ae\u4ef6\uff0c\u6bcf\u5468\u4e94\u4e0b\u5348\u5b9a\u65f6\u53d1\u7ed9\u56e2\u961f\u3002\u8fd9\u4e2a\u6d41\u7a0b\u7ef4\u6301\u4e86\u4e09\u5e74\uff0c\u4e2d\u95f4\u6362\u8fc7\u4eba\uff0c\u4f46\u6ca1\u4eba\u60f3\u8fc7\u6539\u5b83\u2014\u2014\u5927\u5bb6\u90fd\u4e60\u60ef\u4e86<\/span>\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u6211\u7b2c\u4e00\u6b21\u7528Allure\uff0c\u662f\u81ea\u5df1\u79c1\u4e0b\u642d\u7740\u73a9\u7684\u3002\u5f53\u65f6\u56e2\u961f\u6b63\u597d\u63a5\u4e86\u4e00\u4e2a\u65b0\u9879\u76ee\uff0c\u63a5\u53e3\u6709\u4e03\u516b\u5341\u4e2a\uff0c\u624b\u5de5\u6574\u7406\u62a5\u544a\u5df2\u7ecf\u660e\u663e\u529b\u4e0d\u4ece\u5fc3\u3002\u6211\u7528Allure\u8dd1\u4e86\u7b2c\u4e00\u5f20\u62a5\u544a\uff0c\u53d1\u7ed9\u5f00\u53d1\u770b\uff0c\u4ed6\u56de\u4e86\u4e00\u53e5\uff1a&#8221;<span textstyle=\"\" style=\"font-weight: bold;\">\u8fd9\u6bd4\u4e4b\u524d\u7684Excel\u597d\u8ba4\u591a\u4e86<\/span>\u3002&#8221;\u5c31\u8fd9\u4e48\u4e00\u53e5\u53cd\u9988\uff0c\u8ba9\u6211\u51b3\u5b9a\u628a\u8fd9\u4e2a\u5de5\u5177\u63a8\u8fdb\u56e2\u961f\u3002<\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">1.2 \u5b89\u88c5\u4f9d\u8d56<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">Allure\u5206\u4e3a\u4e24\u90e8\u5206\uff1a\u4e00\u90e8\u5206\u662fPython\u63d2\u4ef6\uff08<\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">allure-pytest<\/span><\/code><span leaf=\"\">\uff09\uff0c\u8d1f\u8d23\u5728\u6d4b\u8bd5\u8fd0\u884c\u65f6\u6536\u96c6\u6570\u636e\uff1b\u53e6\u4e00\u90e8\u5206\u662f\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8d1f\u8d23\u628a\u6536\u96c6\u5230\u7684\u6570\u636e\u6e32\u67d3\u6210HTML\u62a5\u544a\u3002\u4e24\u90e8\u5206\u90fd\u8981\u88c5\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"background-color: rgb(255, 254, 213);\">\u5148\u88c5Python\u63d2\u4ef6\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"nginx\"><code><span leaf=\"\"><span class=\"code-snippet__attribute\">pip<\/span>&nbsp;install allure-pytest<\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u7136\u540e\u88c5\u547d\u4ee4\u884c\u5de5\u5177\u3002\u8fd9\u4e2a\u4e0d\u5728PyPI\u4e0a\uff0c\u9700\u8981\u5355\u72ec\u5b89\u88c5\uff0c\u4e0d\u540c\u7cfb\u7edf\u65b9\u6cd5\u4e0d\u540c\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"apache\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># Windows\uff1a\u7528scoop\u5b89\u88c5\uff08\u7c7b\u4f3cmacOS\u7684Homebrew\uff09<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attribute\">Set<\/span>-ExecutionPolicy RemoteSigned -Scope CurrentUser<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attribute\">iwr<\/span>&nbsp;-useb get.scoop.sh | iex<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attribute\">scoop<\/span>&nbsp;install allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># macOS\uff1a\u7528Homebrew<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attribute\">brew<\/span>&nbsp;install allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># Linux\uff1a\u624b\u52a8\u4e0b\u8f7d\uff08\u4ee52.25.0\u7248\u672c\u4e3a\u4f8b\uff09<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attribute\">wget<\/span>&nbsp;https:\/\/github.com\/allure-framework\/allure2\/releases\/download\/<span class=\"code-snippet__number\">2<\/span>.<span class=\"code-snippet__number\">25<\/span>.<span class=\"code-snippet__number\">0<\/span>\/allure-<span class=\"code-snippet__number\">2<\/span>.<span class=\"code-snippet__number\">25<\/span>.<span class=\"code-snippet__number\">0<\/span>.tgz<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attribute\">tar<\/span>&nbsp;-zxvf allure-<span class=\"code-snippet__number\">2<\/span>.<span class=\"code-snippet__number\">25<\/span>.<span class=\"code-snippet__number\">0<\/span>.tgz<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u5c06allure\/bin\u52a0\u5165PATH\u73af\u5883\u53d8\u91cf<\/span><\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u88c5\u5b8c\u4e4b\u540e\u9a8c\u8bc1\u4e00\u4e0b\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"css\"><code><span leaf=\"\">allure&nbsp;<span class=\"code-snippet__attr\">--version<\/span><\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u770b\u5230\u7248\u672c\u53f7\u5c31\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u4e86\u3002<\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">1.3 \u5199\u4e2a\u6700\u7b80\u5355\u7684\u7528\u4f8b\u8dd1\u8d77\u6765<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u627e\u4e2a\u7a7a\u76ee\u5f55\uff0c\u521b\u5efa<\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">test_demo.py<\/span><\/code><span leaf=\"\">\uff1a<\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># test_demo.py - \u5148\u8dd1\u901a\u518d\u8bf4<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_addition<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"\"\"\u6d4b\u8bd5\u52a0\u6cd5\u8fd0\u7b97\"\"\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; result =&nbsp;<span class=\"code-snippet__number\">1<\/span>&nbsp;+&nbsp;<span class=\"code-snippet__number\">1<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;result ==&nbsp;<span class=\"code-snippet__number\">2<\/span>,&nbsp;<span class=\"code-snippet__string\">\"1\u52a01\u5e94\u8be5\u7b49\u4e8e2\"<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_string_concat<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"\"\"\u6d4b\u8bd5\u5b57\u7b26\u4e32\u62fc\u63a5\"\"\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; result =&nbsp;<span class=\"code-snippet__string\">\"Hello\"<\/span>&nbsp;+&nbsp;<span class=\"code-snippet__string\">\" \"<\/span>&nbsp;+&nbsp;<span class=\"code-snippet__string\">\"World\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;result ==&nbsp;<span class=\"code-snippet__string\">\"Hello World\"<\/span><\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u7136\u540e\u8fd0\u884c\u6d4b\u8bd5\uff0c\u540c\u65f6\u8ba9Allure\u6536\u96c6\u6570\u636e\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"bash\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># --alluredir \u6307\u5b9a\u6570\u636e\u5b58\u653e\u76ee\u5f55<\/span><\/span><\/code><code><span leaf=\"\">pytest test_demo.py --alluredir=.\/allure-results<\/span><\/code><\/pre>\n<\/section>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u8fd0\u884c\u5b8c\u4e4b\u540e\uff0c\u5f53\u524d\u76ee\u5f55\u4f1a\u591a\u51fa\u4e00\u4e2a<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">allure-results<\/span><\/code><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span leaf=\"\">\u6587\u4ef6\u5939\uff0c\u91cc\u9762\u662f\u4e00\u5806JSON\u6587\u4ef6\u2014\u2014\u8fd9\u5c31\u662fAllure\u6536\u96c6\u5230\u7684\u539f\u59cb\u6570\u636e\u3002<\/span><\/span><\/span><\/span><\/section>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">1.4 \u542f\u52a8\u62a5\u544a<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u6570\u636e\u6709\u4e86\uff0c\u73b0\u5728\u6e32\u67d3\u6210\u62a5\u544a\u3002\u4e24\u79cd\u65b9\u5f0f\uff1a<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);\">\u65b9\u5f0f\u4e00\uff1aallure serve\uff08\u63a8\u8350\u672c\u5730\u8c03\u8bd5\uff09<\/span><\/span><\/strong><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"bash\"><code><span leaf=\"\">allure serve .\/allure-results<\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u81ea\u52a8\u542f\u52a8\u672c\u5730HTTP\u670d\u52a1\u5e76\u6253\u5f00\u6d4f\u89c8\u5668\u3002\u5173\u6389\u7ec8\u7aef\u7a97\u53e3\uff0c\u670d\u52a1\u5c31\u505c\u4e86\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);font-weight: bold;\">\u65b9\u5f0f\u4e8c\uff1aallure generate + allure open\uff08\u751f\u6210\u6301\u4e45\u62a5\u544a\uff09<\/span><\/span><\/strong><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"bash\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u751f\u6210\u62a5\u544a\u5230\u6307\u5b9a\u76ee\u5f55<\/span><\/span><\/code><code><span leaf=\"\">allure generate .\/allure-results -o .\/allure-report --clean<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u542f\u52a8\u670d\u52a1\u67e5\u770b<\/span><\/span><\/code><code><span leaf=\"\">allure open .\/allure-report<\/span><\/code><\/pre>\n<\/section>\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"576\">\n<p data-pm-slice=\"0 0 []\" style=\"text-align: center;\"><span leaf=\"\">\ud83d\udca1<span textstyle=\"\" style=\"color: rgb(217, 33, 66);\">&nbsp;\u5c0f\u63d0\u793a<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u4e0d\u8981\u76f4\u63a5\u53cc\u51fb<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">index.html<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u6253\u5f00\u62a5\u544a\uff01Allure\u62a5\u544a\u4f9d\u8d56HTTP\u670d\u52a1\u52a0\u8f7d\u8d44\u6e90\uff0c\u76f4\u63a5\u7528\u6587\u4ef6\u534f\u8bae\u6253\u5f00\u4f1a\u767d\u5c4f\u3002\u5fc5\u987b\u7528<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">allure serve<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u6216<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">allure open<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u542f\u52a8\u670d\u52a1\u540e\u8bbf\u95ee\u3002<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<section style=\"text-indent: 2em;\"><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u8fd9\u4e00\u6b65\u8dd1\u901a\u4e86\u4e4b\u540e\uff0c\u6211\u5c31\u53bb\u8ddf\u7ec4\u957f\u6c47\u62a5\u4e86\u3002\u7528\u7684\u5c31\u662f\u8fd9\u4e24\u4e2a\u7b80\u5355\u6587\u4ef6\uff0c\u6574\u4e2a\u8fc7\u7a0b\u4e0d\u8d85\u8fc7\u5341\u5206\u949f\u3002\u7ec4\u957f\u770b\u5b8cdemo\uff0c\u8bf4\u4e86\u4e00\u53e5\u8bdd\uff1a&#8221;\u5148\u5728\u4f60\u4eec\u90a3\u4e2a\u65b0\u9879\u76ee\u4e0a\u8bd5\u8bd5\u3002&#8221;\u8fd9\u5c31\u662fAllure\u8fdb\u5165\u6211\u4eec\u56e2\u961f\u7684\u7b2c\u4e00\u5929\u3002<\/span><\/span><\/span><\/span><\/span><\/span><\/section>\n<section style=\"text-align: center;\" nodeleaf=\"\">\n<figure class=\"wx-qr-wrap\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-aistatus=\"1\" data-imgfileid=\"100000634\" data-ratio=\"0.6085271317829457\" data-s=\"300,640\" data-type=\"png\" data-w=\"774\" type=\"block\" src=\"https:\/\/mmbiz.qpic.cn\/sz_mmbiz_png\/BWmfcibGhS1JfwEXibPjD3giaQRZDu9FiciaxiaibQLuOC3mQyGX06BYJic2Ex1DpY5H9ZM2F89VZJ8gdvEYsk7QHKfLqxjDAp91vcoPbEvPqcT5B90\/640?wx_fmt=png&#038;from=appmsg\" \/><figcaption class=\"wx-qr-tip\"><img decoding=\"async\" src=\"https:\/\/www.deartester.com\/wp-content\/uploads\/2026\/09\/wechat-qr.jpg\" alt=\"\u5fae\u4fe1\u516c\u4f17\u53f7\u4e8c\u7ef4\u7801\" loading=\"lazy\"><span>\u56fe\u7247\u5f15\u81ea\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u626b\u7801\u5173\u6ce8\u9605\u8bfb\u539f\u6587<\/span><\/figcaption><\/figure>\n<\/section>\n<section style=\"text-align: center;\"><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\"><span style=\"color: rgb(136, 146, 164);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 13px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">Allure\u62a5\u544a\u9996\u9875\uff08\u767d\u8272\u4e3b\u9898\uff09\u2014\u2014\u901a\u8fc7\u7387\u3001\u8d8b\u52bf\u56fe\u3001\u7528\u4f8b\u5217\u8868\u4e00\u76ee\u4e86\u7136<\/span><\/span><\/span><\/span><\/span><\/section>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">02<\/span><\/span><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 18px;color: rgb(2, 30, 170);font-weight: bold;\">&nbsp;\u6b65\u9aa4\u5d4c\u5957\u2014\u2014\u8ba9\u62a5\u544a\u81ea\u5df1\u8bb2\u6545\u4e8b<\/span><\/span><\/h2>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">2.1 \u4e3a\u4ec0\u4e48\u8981\u5d4c\u5957\u6b65\u9aa4<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u6211\u4eec\u56e2\u961f\u771f\u6b63\u611f\u53d7\u5230Allure\u4ef7\u503c\uff0c\u662f\u4ece\u8fd9\u4e00\u6b65\u5f00\u59cb\u7684\u3002<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u4ee5\u524d\u6d4b\u8bd5\u62a5\u544a\u91cc\u5199&#8221;\u767b\u5f55\u5931\u8d25&#8221;\uff0c\u9886\u5bfc\u95ee&#8221;\u54ea\u4e2a\u73af\u8282\u5931\u8d25\u7684\uff1f&#8221;\u6211\u5f97\u91cd\u65b0\u8dd1\u4e00\u904d\u7528\u4f8b\uff0c\u8fb9\u8dd1\u8fb9\u622a\u56fe\uff0c\u518d\u8d34\u56deExcel\u91cc\u8bf4\u660e\u3002\u5f00\u53d1\u90a3\u8fb9\u4e5f\u662f\u4e00\u809a\u5b50\u706b\u2014\u2014\u6d4b\u8bd5\u62a5\u544a\u5199\u7684\u662f&#8221;\u767b\u5f55\u5931\u8d25&#8221;\uff0c\u4ed6\u5f97\u82b1\u534a\u5c0f\u65f6\u624d\u80fd\u5b9a\u4f4d\u5230\u662f\u5bc6\u7801\u52a0\u5bc6\u90a3\u5757\u7684\u95ee\u9898\u3002<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5f15\u5165\u6b65\u9aa4\u5d4c\u5957\u4e4b\u540e\uff0c\u62a5\u544a\u53d8\u6210\u4e86\u8fd9\u6837\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u5f15\u5165Allure\u6b65\u9aa4\u88c5\u9970\u5668<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u6253\u5f00\u767b\u5f55\u9875\u9762\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">open_login_page<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># driver.get(\"https:\/\/example.com\/login\")<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">return<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u8f93\u5165\u7528\u6237\u540d\uff1a{username}\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">input_username<\/span>(<span class=\"code-snippet__params\">username<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># driver.find_element(By.ID, \"username\").send_keys(username)<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">return<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u70b9\u51fb\u767b\u5f55\u6309\u94ae\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">click_login_button<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># driver.find_element(By.ID, \"login-btn\").click()<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">return<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_login<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; open_login_page()<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; input_username(<span class=\"code-snippet__string\">\"testuser\"<\/span>)<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; click_login_button()<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u6ce8\u610f<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">@allure.step(\"\u8f93\u5165\u7528\u6237\u540d\uff1a{username}\")<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u91cc\u7684<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">{username}<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\uff0c\u8fd0\u884c\u65f6\u4f1a\u88ab\u66ff\u6362\u6210\u5b9e\u9645\u4f20\u5165\u7684\u503c&#8221;testuser&#8221;\u3002\u62a5\u544a\u91cc\u663e\u793a\u7684\u5c31\u662f&#8221;\u8f93\u5165\u7528\u6237\u540d\uff1atestuser&#8221;\uff0c\u4e0d\u9700\u8981\u4f60\u5728\u4ee3\u7801\u91cc\u5199\u5b57\u7b26\u4e32\u62fc\u63a5\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">2.2 \u5d4c\u5957\u6b65\u9aa4\uff1a\u590d\u6742\u6d41\u7a0b\u7684\u5206\u5c42\u5c55\u793a<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u4e00\u4e2a\u590d\u6742\u7684\u4e1a\u52a1\u6d41\u7a0b\uff0c\u53ef\u4ee5\u62c6\u6210\u591a\u5c42\u6b65\u9aa4\u3002\u4e0a\u7ebf\u524d\u7684\u5192\u70df\u6d4b\u8bd5\u7528\u4f8b\uff0c\u5149&#8221;\u63d0\u4ea4\u8ba2\u5355&#8221;\u8fd9\u4e00\u4e2a\u64cd\u4f5c\uff0c\u80cc\u540e\u5c31\u6d89\u53ca\u5546\u54c1\u6821\u9a8c\u3001\u5e93\u5b58\u6263\u51cf\u3001\u652f\u4ed8\u8c03\u7528\u3001\u7269\u6d41\u4e0b\u53d1\u7b49\u591a\u4e2a\u73af\u8282\u3002\u7528\u5d4c\u5957\u6b65\u9aa4\u5c31\u80fd\u628a\u8fd9\u79cd\u5c42\u7ea7\u5173\u7cfb\u6e05\u6670\u5448\u73b0\u51fa\u6765\u3002<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u9009\u62e9\u5546\u54c1\uff1a{name}\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">select_product<\/span>(<span class=\"code-snippet__params\">name<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u70b9\u51fb\u5546\u54c1 \u2192 \u52a0\u5165\u8d2d\u7269\u8f66<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">pass<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u586b\u5199\u6536\u8d27\u5730\u5740\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">fill_address<\/span>(<span class=\"code-snippet__params\">city, detail<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u8f93\u5165\u57ce\u5e02 + \u8be6\u7ec6\u5730\u5740<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">pass<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u9009\u62e9\u652f\u4ed8\u65b9\u5f0f\uff1a{method}\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">select_payment<\/span>(<span class=\"code-snippet__params\">method<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u9009\u62e9\u652f\u4ed8\u6e20\u9053<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">pass<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u63d0\u4ea4\u8ba2\u5355\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">submit_order<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u70b9\u51fb\u63d0\u4ea4\u6309\u94ae<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">pass<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u4e0b\u5355\u6d41\u7a0b\uff1a\u8d2d\u4e70{name}\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">place_order<\/span>(<span class=\"code-snippet__params\">name, city, address, payment_method<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u9876\u5c42\u6d41\u7a0b\uff1a\u8c03\u7528\u56db\u4e2a\u5b50\u6b65\u9aa4<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; select_product(name)<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; fill_address(city, address)<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; select_payment(payment_method)<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; submit_order()<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.feature(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u8ba2\u5355\u6a21\u5757\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.story(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u4e0b\u5355\u6d41\u7a0b\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_place_order<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; place_order(<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; name=<span class=\"code-snippet__string\">\"iPhone 15 Pro\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; city=<span class=\"code-snippet__string\">\"\u5317\u4eac\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; address=<span class=\"code-snippet__string\">\"\u671d\u9633\u533a\u671b\u4eac\u8857\u9053xxx\u53f7\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; payment_method=<span class=\"code-snippet__string\">\"\u5fae\u4fe1\u652f\u4ed8\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; )<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u8fd0\u884c\u540e\u5728\u62a5\u544a\u91cc\u70b9\u51fb&#8221;\u4e0b\u5355\u6d41\u7a0b\uff1a\u8d2d\u4e70iPhone 15 Pro&#8221;\uff0c\u4f1a\u5c55\u5f00\u56db\u4e2a\u5b50\u6b65\u9aa4\uff0c\u6bcf\u4e2a\u6b65\u9aa4\u90fd\u663e\u793a\u8017\u65f6\u3001\u72b6\u6001\uff0c\u8fd8\u53ef\u4ee5\u7ee7\u7eed\u5c55\u5f00\u770b\u4e0b\u4e00\u7ea7\u8be6\u60c5\u3002\u8fd9\u79cd\u6811\u72b6\u7ed3\u6784\u975e\u5e38\u9002\u5408\u63cf\u8ff0\u4e1a\u52a1\u6d41\u7a0b\u957f\u3001\u6b65\u9aa4\u591a\u7684\u6d4b\u8bd5\u573a\u666f\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">2.3 \u6b65\u9aa4\u91cc\u52a0\u9644\u4ef6\uff1a\u622a\u56fe\u3001\u54cd\u5e94\u3001\u65e5\u5fd7\u5168\u90fd\u6709<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5149\u6709\u6b65\u9aa4\u540d\u79f0\u8fd8\u4e0d\u591f\uff0c\u6709\u65f6\u5019\u6211\u4eec\u8981\u628a\u622a\u56fe\u3001\u63a5\u53e3\u54cd\u5e94\u3001\u9519\u8bef\u65e5\u5fd7\u76f4\u63a5\u5d4c\u5230\u62a5\u544a\u91cc\u3002\u5f00\u53d1\u70b9\u5f00\u5931\u8d25\u7528\u4f8b\uff0c\u5c31\u80fd\u76f4\u63a5\u770b\u5230\u8bf7\u6c42\u53c2\u6570\u548c\u8fd4\u56de\u5185\u5bb9\uff0c\u4e0d\u9700\u8981\u4f60\u989d\u5916\u622a\u56fe\u53d1\u90ae\u4ef6\u3002<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;json<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u8c03\u7528\u767b\u5f55\u63a5\u53e3\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">call_login_api<\/span>(<span class=\"code-snippet__params\">username, password<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; response = {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"code\"<\/span>:&nbsp;<span class=\"code-snippet__number\">200<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"message\"<\/span>:&nbsp;<span class=\"code-snippet__string\">\"\u767b\u5f55\u6210\u529f\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"data\"<\/span>: {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"token\"<\/span>:&nbsp;<span class=\"code-snippet__string\">\"eyJhbGciOiJIUzI1NiIs...\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"user_id\"<\/span>:&nbsp;<span class=\"code-snippet__number\">12345<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u9644\u52a0JSON\u54cd\u5e94\u4f53\u5230\u62a5\u544a<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; allure.attach(<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; json.dumps(response, indent=<span class=\"code-snippet__number\">2<\/span>, ensure_ascii=<span class=\"code-snippet__literal\">False<\/span>),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; name=<span class=\"code-snippet__string\">\"\u63a5\u53e3\u54cd\u5e94\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; attachment_type=allure.attachment_type.JSON<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; )<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">return<\/span>&nbsp;response<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u622a\u53d6\u9875\u9762\u622a\u56fe\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">take_screenshot<\/span>(<span class=\"code-snippet__params\">driver<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u5c06\u622a\u56fe\u9644\u52a0\u5230\u62a5\u544a<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; allure.attach(<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; driver.get_screenshot_as_png(),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; name=<span class=\"code-snippet__string\">\"\u9875\u9762\u622a\u56fe\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; attachment_type=allure.attachment_type.PNG<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; )<\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">allure.attach<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u652f\u6301\u591a\u79cd\u683c\u5f0f\uff1aJSON\u3001XML\u3001HTML\u3001PNG\u3001JPEG\u3001SVG\u3001CSV\u3002\u6307\u5b9a\u4e0d\u540c\u7684<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">attachment_type<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\uff0c\u62a5\u544a\u4f1a\u81ea\u52a8\u6e32\u67d3\u5bf9\u5e94\u683c\u5f0f\u3002<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(2, 30, 170);\">\u6211\u4eec\u56e2\u961f\u7528\u7684\u4e00\u4e2a\u6280\u5de7\u662f\u5728<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">conftest.py<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(2, 30, 170);\">\u91cc\u6ce8\u518c\u4e00\u4e2a\u5168\u5c40\u94a9\u5b50\uff0c\u6d4b\u8bd5\u5931\u8d25\u65f6\u81ea\u52a8\u622a\u56fe\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;pytest<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@pytest.hookimpl(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">hookwrapper=<\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__literal\">True<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">pytest_runtest_makereport<\/span>(<span class=\"code-snippet__params\">item, call<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; outcome =&nbsp;<span class=\"code-snippet__keyword\">yield<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; report = outcome.get_result()<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\"># \u53ea\u5728\u6d4b\u8bd5\u5931\u8d25\u65f6\u81ea\u52a8\u622a\u56fe<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">if<\/span>&nbsp;report.when ==&nbsp;<span class=\"code-snippet__string\">\"call\"<\/span>&nbsp;<span class=\"code-snippet__keyword\">and<\/span>&nbsp;report.failed:<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">if<\/span>&nbsp;<span class=\"code-snippet__string\">\"driver\"<\/span>&nbsp;<span class=\"code-snippet__keyword\">in<\/span>&nbsp;item.funcargs:<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; driver = item.funcargs[<span class=\"code-snippet__string\">\"driver\"<\/span>]<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; allure.attach(<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; driver.get_screenshot_as_png(),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name=<span class=\"code-snippet__string\">\"\u5931\u8d25\u622a\u56fe\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attachment_type=allure.attachment_type.PNG<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )<\/span><\/code><\/pre>\n<\/section>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u8fd9\u4e2a\u94a9\u5b50\u52a0\u8fdb\u53bb\u4e4b\u540e\uff0c\u6bcf\u6b21UI\u6d4b\u8bd5\u5931\u8d25\uff0c\u62a5\u544a\u91cc\u81ea\u52a8\u6709\u4e00\u5f20\u622a\u56fe\u3002\u5f00\u53d1\u6253\u5f00\u62a5\u544a\u5c31\u80fd\u770b\u5230\u5931\u8d25\u90a3\u4e00\u523b\u7684\u9875\u9762\uff0c\u4e0d\u9700\u8981\u6d4b\u8bd5\u518d\u624b\u52a8\u622a\u56fe\u4e86\u2014\u2014\u8fd9\u4e2a\u6539\u52a8\u53d7\u5230\u5f00\u53d1\u540c\u5b66\u7684\u4e00\u81f4\u597d\u8bc4\u3002<\/span><\/span><\/span><\/span><\/span><\/span><\/section>\n<section style=\"text-align: center;\" nodeleaf=\"\">\n<figure class=\"wx-qr-wrap\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-aistatus=\"1\" data-imgfileid=\"100000635\" data-ratio=\"0.5581395348837209\" data-s=\"300,640\" data-type=\"png\" data-w=\"774\" type=\"block\" src=\"https:\/\/mmbiz.qpic.cn\/sz_mmbiz_png\/BWmfcibGhS1IXC4SBjTDsg1cvHY27iatX3NE3cOSN9wvNqfvARDoCSG9V8vs2C64SQ4NBnqHQs9YQ5AjwQtHmHbRyNr1abGIhAEiaVxoxH9UZw\/640?wx_fmt=png&#038;from=appmsg\" \/><figcaption class=\"wx-qr-tip\"><img decoding=\"async\" src=\"https:\/\/www.deartester.com\/wp-content\/uploads\/2026\/09\/wechat-qr.jpg\" alt=\"\u5fae\u4fe1\u516c\u4f17\u53f7\u4e8c\u7ef4\u7801\" loading=\"lazy\"><span>\u56fe\u7247\u5f15\u81ea\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u626b\u7801\u5173\u6ce8\u9605\u8bfb\u539f\u6587<\/span><\/figcaption><\/figure>\n<\/section>\n<section style=\"text-align: center;\"><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\"><span style=\"color: rgb(136, 146, 164);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 13px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u6b65\u9aa4\u5d4c\u5957\u6811\u72b6\u7ed3\u6784\u2014\u2014\u6bcf\u4e00\u6b65\u90fd\u6709\u8017\u65f6\u3001\u72b6\u6001\u548c\u9644\u4ef6\uff0c\u5f00\u53d1\u5b9a\u4f4d\u95ee\u9898\u4e00\u76ee\u4e86\u7136<\/span><\/span><\/span><\/span><\/span><\/section>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">03<\/span><\/span><span leaf=\"\">&nbsp;<span textstyle=\"\" style=\"font-size: 18px;color: rgb(2, 30, 170);font-weight: bold;\">\u5206\u7c7b\u4e0e\u6807\u8bb0\u2014\u2014\u7ed9\u7528\u4f8b\u8d34\u6807\u7b7e<\/span><\/span><\/h2>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">3.1 \u4e09\u5c42\u6807\u7b7e\u4f53\u7cfb<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u7528\u4f8b\u591a\u4e86\u4ee5\u540e\uff0c\u6309\u4ec0\u4e48\u7ef4\u5ea6\u7ec4\u7ec7\u662f\u4e2a\u95ee\u9898\u3002Allure\u63d0\u4f9b\u4e86\u4e09\u5c42\u6807\u7b7e\u4f53\u7cfb\uff1a<\/span><\/span><\/p>\n<ul style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">@allure.feature<\/span><\/code><br \/>\n<section><span leaf=\"\">&nbsp;\u2014\u2014 \u6a21\u5757\uff08\u9876\u5c42\uff09<\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">@allure.story<\/span><\/code><br \/>\n<section><span leaf=\"\">&nbsp;\u2014\u2014 \u573a\u666f\uff08\u7b2c\u4e8c\u5c42\uff09<\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">@allure.title<\/span><\/code><br \/>\n<section><span leaf=\"\">\u2014\u2014 \u7528\u4f8b\u6807\u9898\uff08\u7b2c\u4e09\u5c42\uff09<\/span><\/section>\n<\/li>\n<\/ul>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.feature(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u7528\u6237\u6a21\u5757\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<\/span><span class=\"code-snippet__comment\"># \u6a21\u5757<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.story(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u7528\u6237\u767b\u5f55\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<\/span><span class=\"code-snippet__comment\"># \u573a\u666f<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.title(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u6b63\u5e38\u767b\u5f55\u6210\u529f\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">) &nbsp; &nbsp; &nbsp;<\/span><span class=\"code-snippet__comment\"># \u7528\u4f8b\u6807\u9898<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_login_success<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.feature(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u7528\u6237\u6a21\u5757\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.story(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u7528\u6237\u767b\u5f55\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.title(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u5bc6\u7801\u9519\u8bef\u767b\u5f55\u5931\u8d25\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_login_wrong_password<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.feature(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u8ba2\u5355\u6a21\u5757\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.story(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u521b\u5efa\u8ba2\u5355\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.title(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u8d2d\u7269\u8f66\u5546\u54c1\u4e0b\u5355\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_create_order_from_cart<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><\/pre>\n<\/section>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5728\u62a5\u544a\u5de6\u4fa7\u7684\u5bfc\u822a\u680f\u91cc\uff0c\u7528\u4f8b\u4f1a\u6309Feature \u2192 Story \u2192 Test\u7684\u5c42\u7ea7\u7ec4\u7ec7\u6210\u6811\u5f62\u7ed3\u6784\u3002\u6211\u4eec\u56e2\u961f\u6309\u8fd9\u4e2a\u4f53\u7cfb\u628a\u4e03\u516b\u5341\u4e2a\u7528\u4f8b\u5206\u6210\u4e86\u4e94\u4e2a\u6a21\u5757\uff0c\u6bcf\u6b21\u6c47\u62a5\u7684\u65f6\u5019\u9886\u5bfc\u53ef\u4ee5\u76f4\u63a5\u70b9\u8fdb\u53bb\u770b\u67d0\u4e2a\u6a21\u5757\u7684\u901a\u8fc7\u7387\u3002<\/span><\/span><\/span><\/span><\/span><\/span><\/section>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">3.2 \u4e25\u91cd\u7a0b\u5ea6\uff1a\u8ba9BLOCKER\u7ea7\u522b\u7684\u5931\u8d25\u5148\u88ab\u53d1\u73b0<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u4e0d\u662f\u6240\u6709\u5931\u8d25\u7684\u7528\u4f8b\u4f18\u5148\u7ea7\u90fd\u4e00\u6837\u3002Allure\u5185\u7f6e\u4e86\u4e94\u4e2a\u4e25\u91cd\u7a0b\u5ea6\u7b49\u7ea7\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.severity(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">allure.severity_level.BLOCKER<\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_system_startup<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"\"\"\u7cfb\u7edf\u65e0\u6cd5\u542f\u52a8\uff0c\u963b\u585e\u6240\u6709\u6d4b\u8bd5\"\"\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">False<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.severity(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">allure.severity_level.CRITICAL<\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_payment_processing<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"\"\"\u652f\u4ed8\u6d41\u7a0b\u5931\u8d25\uff0c\u53ef\u80fd\u5bfc\u81f4\u8d44\u91d1\u635f\u5931\"\"\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.severity(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">allure.severity_level.NORMAL<\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_search_function<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"\"\"\u641c\u7d22\u529f\u80fd\uff0c\u8fd4\u56de\u7ed3\u679c\u6709\u504f\u5dee\"\"\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.severity(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">allure.severity_level.MINOR<\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_button_style<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"\"\"\u6309\u94ae\u989c\u8272\u4e0e\u8bbe\u8ba1\u7a3f\u4e0d\u4e00\u81f4\"\"\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.severity(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">allure.severity_level.TRIVIAL<\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_ui_typo<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"\"\"\u9875\u9762\u63d0\u793a\u6587\u5b57\u591a\u4e86\u4e00\u4e2a\u7a7a\u683c\"\"\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><\/pre>\n<\/section>\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"576\">\n<section><strong data-pm-slice=\"0 0 []\"><span leaf=\"\" style=\"color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&quot;mp-quote&quot;, &quot;PingFang SC&quot;, system-ui, -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(123, 12, 0);font-weight: bold;\">\u5b9e\u64cd\u7ecf\u9a8c\uff1a<\/span><\/span><\/strong><span leaf=\"\" style=\"color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&quot;mp-quote&quot;, &quot;PingFang SC&quot;, system-ui, -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;\"><span textstyle=\"\" style=\"font-size: 15px;\">BLOCKER\u7ea7\u522b\u7528\u4e8e\u7cfb\u7edf\u5165\u53e3\u7ea7\u95ee\u9898\uff08\u6bd4\u5982\u542f\u52a8\u5931\u8d25\u3001\u767b\u5f55\u5b8c\u5168\u4e0d\u53ef\u7528\uff09\uff1bCRITICAL\u7528\u4e8e\u6838\u5fc3\u4e1a\u52a1\u6d41\u7a0b\u4e2d\u65ad\u6216\u6570\u636e\u5b89\u5168\u76f8\u5173\uff1bNORMAL\u662f\u666e\u901a\u529f\u80fdbug\uff1bMINOR\u548cTRIVIAL\u7559\u7ed9UI\u7ec6\u8282\u95ee\u9898\u3002\u5982\u679c\u4e0d\u786e\u5b9a\u4f18\u5148\u7ea7\uff0c\u5b81\u53ef\u6807\u9ad8\u4e00\u7ea7\uff0c\u4e5f\u4e0d\u8981\u628a\u5173\u952e\u95ee\u9898\u6807\u6210TRIVIAL\u3002<\/span><\/span><\/section>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">3.3 \u81ea\u5b9a\u4e49\u6807\u7b7e\uff1a\u7ba1\u7406\u8d23\u4efb\u4eba\u3001\u73af\u5883\u3001\u4f18\u5148\u7ea7<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5185\u7f6e\u6807\u7b7e\u4e0d\u591f\u7528\u7684\u65f6\u5019\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002\u6211\u4eec\u56e2\u961f\u7528\u81ea\u5b9a\u4e49\u6807\u7b7e\u7ba1\u7406\u4e86\u4e09\u4ef6\u4e8b\uff1a<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.label(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"owner\"<\/span><\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">,&nbsp;<\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u5f20\u4e09\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">) &nbsp; &nbsp; &nbsp;&nbsp;<\/span><span class=\"code-snippet__comment\"># \u8d23\u4efb\u4eba<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.label(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"priority\"<\/span><\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">,&nbsp;<\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"P0\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">) &nbsp; &nbsp; &nbsp;<\/span><span class=\"code-snippet__comment\"># \u4f18\u5148\u7ea7<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.label(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"layer\"<\/span><\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">,&nbsp;<\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"API\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">) &nbsp; &nbsp; &nbsp; &nbsp;<\/span><span class=\"code-snippet__comment\"># \u6d4b\u8bd5\u5c42\u6b21\uff1aAPI \/ UI \/ \u96c6\u6210<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.tag(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u5192\u70df\u6d4b\u8bd5\"<\/span><\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">,&nbsp;<\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u56de\u5f52\u6d4b\u8bd5\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">) &nbsp;<\/span><span class=\"code-snippet__comment\"># \u6d4b\u8bd5\u7c7b\u578b\u6807\u7b7e<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_api_core_function<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;<span class=\"code-snippet__literal\">True<\/span><\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u901a\u8fc7owner\u6807\u7b7e\uff0c\u53ef\u4ee5\u5728\u62a5\u544a\u91cc\u6309\u8d1f\u8d23\u4eba\u7b5b\u9009\u2014\u2014\u53d1\u5468\u62a5\u7684\u65f6\u5019\uff0c\u76f4\u63a5\u751f\u6210\u6bcf\u4eba\u8d1f\u8d23\u6a21\u5757\u7684\u901a\u8fc7\u7387\uff0c\u4e00\u952e\u5bfc\u51fa\uff0c\u4e0d\u9700\u8981\u624b\u52a8\u7edf\u8ba1\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">3.4 \u53c2\u6570\u5316\u7528\u4f8b\uff1a\u4e00\u5f20\u56fe\u5c55\u793a\u6240\u6709\u53c2\u6570\u7ec4\u5408<\/span><\/span><\/h3>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;pytest<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.feature(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u8ba1\u7b97\u5668\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.story(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u52a0\u6cd5\u8fd0\u7b97\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.title(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u52a0\u6cd5\u6d4b\u8bd5: {a} + {b} = {expected}\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@pytest.mark.parametrize(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"a, b, expected\"<\/span><\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">, [<\/span><\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; (<span class=\"code-snippet__params\"><span class=\"code-snippet__number\">1<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">1<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">2<\/span><\/span>),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; (<span class=\"code-snippet__params\"><span class=\"code-snippet__number\">2<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">3<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">5<\/span><\/span>),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; (<span class=\"code-snippet__params\"><span class=\"code-snippet__number\">10<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">20<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">30<\/span><\/span>),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; (<span class=\"code-snippet__params\">-<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">1<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">1<\/span><\/span><span class=\"code-snippet__params\">,&nbsp;<\/span><span class=\"code-snippet__params\"><span class=\"code-snippet__number\">0<\/span><\/span>),<\/span><\/code><code><span leaf=\"\">])<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">test_addition<\/span>(<span class=\"code-snippet__params\">a, b, expected<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; result = a + b<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">assert<\/span>&nbsp;result == expected<\/span><\/code><\/pre>\n<\/section>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">@allure.title<\/span><\/code><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u91cc\u7684\u5360\u4f4d\u7b26\u4f1a\u81ea\u52a8\u66ff\u6362\u6210\u5b9e\u9645\u53c2\u6570\u503c\uff0c\u6bcf\u7ec4\u53c2\u6570\u5728\u62a5\u544a\u91cc\u663e\u793a\u4e3a\u72ec\u7acb\u7528\u4f8b\uff0c\u4e0d\u9700\u8981\u4f60\u4e3a\u6bcf\u7ec4\u53c2\u6570\u5355\u72ec\u5199\u6d4b\u8bd5\u51fd\u6570\u3002<\/span><\/span><\/span><\/span><\/span><\/span><\/section>\n<section style=\"text-align: center;\" nodeleaf=\"\">\n<figure class=\"wx-qr-wrap\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-aistatus=\"1\" data-imgfileid=\"100000636\" data-ratio=\"0.5979247730220493\" data-s=\"300,640\" data-type=\"png\" data-w=\"771\" type=\"block\" src=\"https:\/\/mmbiz.qpic.cn\/sz_mmbiz_png\/BWmfcibGhS1JWSXV67fy17ofb1UI3STROXDDkkuO5YHf53H7Nsic8ibVQtUiaUkZB1dSnHwO3LqR3j4k4ibRuV7maoCMOf6boocNrKtwnZgI9rps\/640?wx_fmt=png&#038;from=appmsg\" \/><figcaption class=\"wx-qr-tip\"><img decoding=\"async\" src=\"https:\/\/www.deartester.com\/wp-content\/uploads\/2026\/09\/wechat-qr.jpg\" alt=\"\u5fae\u4fe1\u516c\u4f17\u53f7\u4e8c\u7ef4\u7801\" loading=\"lazy\"><span>\u56fe\u7247\u5f15\u81ea\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u626b\u7801\u5173\u6ce8\u9605\u8bfb\u539f\u6587<\/span><\/figcaption><\/figure>\n<\/section>\n<section style=\"text-align: center;\"><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\"><span style=\"color: rgb(136, 146, 164);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 13px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">Allure\u5206\u7c7b\u5bfc\u822a\u6811\u2014\u2014\u5de6\u4fa7\u6309\u6a21\u5757\/\u573a\u666f\u7ec4\u7ec7\uff0c\u53f3\u4fa7\u663e\u793a\u7528\u4f8b\u8be6\u60c5\u4e0e\u9644\u4ef6<\/span><\/span><\/span><\/span><\/span><\/section>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">04<\/span><\/span><span leaf=\"\">&nbsp;<span textstyle=\"\" style=\"font-size: 18px;color: rgb(2, 30, 170);font-weight: bold;\">\u73af\u5883\u4fe1\u606f\u4e0e\u8d8b\u52bf\u56fe\u2014\u2014\u8ba9\u62a5\u544a\u66f4\u4e13\u4e1a<\/span><\/span><\/h2>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">4.1 \u8ba9\u62a5\u544a\u5c55\u793a\u6d4b\u8bd5\u73af\u5883<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5149\u6709\u6d4b\u8bd5\u7ed3\u679c\u8fd8\u4e0d\u591f\uff0c\u62a5\u544a\u91cc\u5e94\u8be5\u5305\u542b\u6d4b\u8bd5\u65f6\u7684\u73af\u5883\u4fe1\u606f\u3002Allure\u652f\u6301\u901a\u8fc7<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">environment.properties<\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u6587\u4ef6\u6ce8\u5165\u73af\u5883\u4fe1\u606f\uff0c\u8fd9\u4e9b\u4fe1\u606f\u4f1a\u663e\u793a\u5728\u62a5\u544a\u9996\u9875\u3002<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"ini\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># environment.properties<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u653e\u5728\u9879\u76ee\u6839\u76ee\u5f55\uff0c\u4e0eallure-results\u540c\u7ea7<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">Python.Version<\/span>=<span class=\"code-snippet__number\">3.11<\/span>.<span class=\"code-snippet__number\">0<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">Pytest.Version<\/span>=<span class=\"code-snippet__number\">7.4<\/span>.<span class=\"code-snippet__number\">3<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">Allure.Version<\/span>=<span class=\"code-snippet__number\">2.25<\/span>.<span class=\"code-snippet__number\">0<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">Browser<\/span>=Chrome&nbsp;<span class=\"code-snippet__number\">120.0<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">Browser.Driver<\/span>=ChromeDriver&nbsp;<span class=\"code-snippet__number\">120.0<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">Test.Environment<\/span>=\u6d4b\u8bd5\u73af\u5883<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">API.BaseURL<\/span>=https:\/\/api-test.example.com<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">DB.Host<\/span>=<span class=\"code-snippet__number\">192.168<\/span>.<span class=\"code-snippet__number\">1.100<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">DB.Port<\/span>=<span class=\"code-snippet__number\">3306<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">DB.Name<\/span>=test_db<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attr\">DB.Version<\/span>=MySQL&nbsp;<span class=\"code-snippet__number\">8.0<\/span><\/span><\/code><\/pre>\n<\/section>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5982\u679c\u60f3\u52a8\u6001\u751f\u6210\u73af\u5883\u4fe1\u606f\uff08\u6bd4\u5982\u5305\u542b\u5f53\u524d\u65f6\u95f4\u6233\uff09\uff0c\u53ef\u4ee5\u5728<\/span><\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">conftest.py<\/span><\/code><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u91cc\u5199<\/span>\uff1a<\/span><\/span><\/span><\/span><\/span><\/section>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;os<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;platform<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;datetime<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;pytest<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">write_environment_properties<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; env_info = {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"OS\"<\/span>: platform.system(),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"Python.Version\"<\/span>: platform.python_version(),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"Test.Time\"<\/span>: datetime.datetime.now().strftime(<span class=\"code-snippet__string\">\"%Y-%m-%d %H:%M:%S\"<\/span>),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"Pytest.Version\"<\/span>: pytest.__version__,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; results_dir =&nbsp;<span class=\"code-snippet__string\">\".\/allure-results\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; os.makedirs(results_dir, exist_ok=<span class=\"code-snippet__literal\">True<\/span>)<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">with<\/span>&nbsp;<span class=\"code-snippet__built_in\">open<\/span>(<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; os.path.join(results_dir,&nbsp;<span class=\"code-snippet__string\">\"environment.properties\"<\/span>),<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"w\"<\/span>, encoding=<span class=\"code-snippet__string\">\"utf-8\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; )&nbsp;<span class=\"code-snippet__keyword\">as<\/span>&nbsp;f:\\n &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"code-snippet__keyword\">for<\/span>&nbsp;key, value&nbsp;<span class=\"code-snippet__keyword\">in<\/span>&nbsp;env_info.items():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f.write(<span class=\"code-snippet__string\">f\"<\/span><span class=\"code-snippet__string\"><span class=\"code-snippet__subst\">{key}<\/span><\/span><span class=\"code-snippet__string\">=<\/span><span class=\"code-snippet__string\"><span class=\"code-snippet__subst\">{value}<\/span><\/span><span class=\"code-snippet__string\">\\n\"<\/span>)<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@pytest.fixture(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">scope=<\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"session\"<\/span><\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\">, autouse=<\/span><\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__literal\">True<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">setup_environment<\/span>():<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; write_environment_properties()<\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u8fd9\u4e2afixture\u52a0\u5728conftest.py\u91cc\uff0c\u6bcf\u6b21\u8fd0\u884c\u6d4b\u8bd5\u90fd\u4f1a\u81ea\u52a8\u751f\u6210\u73af\u5883\u4fe1\u606f\uff0c\u4e0d\u9700\u8981\u624b\u52a8\u7ef4\u62a4\u6587\u4ef6\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">4.2 \u8d8b\u52bf\u56fe\uff1a\u8ba9\u9886\u5bfc\u770b\u5230\u53d8\u5316\u8d8b\u52bf<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u8d8b\u52bf\u56fe\u662fAllure\u6700\u6253\u52a8\u9886\u5bfc\u7684\u529f\u80fd\u4e4b\u4e00\u3002\u5b83\u4f1a\u8bb0\u5f55\u6bcf\u6b21\u6d4b\u8bd5\u6267\u884c\u7684\u7ed3\u679c\uff0c\u751f\u6210\u901a\u8fc7\u7387\u968f\u65f6\u95f4\u53d8\u5316\u7684\u6298\u7ebf\u56fe\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(2, 30, 170);\">\u672c\u5730\u6d4b\u8bd5\u65f6\u4fdd\u7559\u5386\u53f2\u6570\u636e\uff1a<\/span><\/span><\/strong><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"bash\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u9996\u6b21\u8fd0\u884c<\/span><\/span><\/code><code><span leaf=\"\">pytest tests\/ --alluredir=.\/allure-results<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u7b2c\u4e8c\u6b21\u8fd0\u884c\uff08\u4e0d\u8981\u52a0--clean-alluredir\uff0c\u8ba9\u6570\u636e\u8ffd\u52a0\uff09<\/span><\/span><\/code><code><span leaf=\"\">pytest tests\/ --alluredir=.\/allure-results<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u751f\u6210\u7684\u62a5\u544a\u4f1a\u5305\u542b\u4e24\u6b21\u8fd0\u884c\u7684\u5bf9\u6bd4<\/span><\/span><\/code><code><span leaf=\"\">allure serve .\/allure-results<\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u8d8b\u52bf\u56fe\u7684\u4ef7\u503c\u5728\u4e8e\uff1a\u5f53\u67d0\u6b21\u6784\u5efa\u540e\u901a\u8fc7\u7387\u7a81\u7136\u4e0b\u964d\u65f6\uff0c\u53ef\u4ee5\u5f88\u76f4\u89c2\u5730\u770b\u5230\u662f\u4ece\u54ea\u6b21\u5f15\u5165\u7684\u95ee\u9898\uff0c\u800c\u4e0d\u662f\u51ed\u8bb0\u5fc6\u731c\u6d4b\u3002\u6211\u4eec\u56e2\u961f\u6709\u4e2a\u4e0d\u6210\u6587\u7684\u89c4\u5b9a\u2014\u2014\u5468\u62a5\u91cc\u5fc5\u987b\u9644\u8d8b\u52bf\u56fe\uff0c\u8fde\u7eed\u4e24\u5468\u4e0b\u6ed1\u7684\u6a21\u5757\u8981\u5728\u5468\u4f1a\u4e0a\u4e13\u9879\u8ba8\u8bba\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">4.3 \u9644\u4ef6\u91cc\u653e\u89c6\u9891<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">UI\u81ea\u52a8\u5316\u6d4b\u8bd5\u4e2d\uff0c\u5076\u53d1\u6027\u5931\u8d25\u6700\u96be\u5b9a\u4f4d\u3002\u622a\u56fe\u662f\u9759\u6001\u7684\uff0c\u6709\u65f6\u5019\u770b\u4e0d\u51fa\u64cd\u4f5c\u987a\u5e8f\u3002\u6211\u4eec\u5f15\u5165\u4e86\u5931\u8d25\u81ea\u52a8\u5f55\u5c4f\uff0c\u628aMP4\u89c6\u9891\u5d4c\u5165\u62a5\u544a\uff0c\u5f00\u53d1\u56de\u653e\u4e00\u904d\u5c31\u80fd\u590d\u73b0\u95ee\u9898\u3002<\/span><\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;os<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__meta\">@allure.step(<\/span><span class=\"code-snippet__meta\"><span class=\"code-snippet__params\"><span class=\"code-snippet__string\">\"\u9644\u52a0\u6d4b\u8bd5\u89c6\u9891\"<\/span><\/span><\/span><span class=\"code-snippet__meta\">)<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">def<\/span>&nbsp;<span class=\"code-snippet__title\">attach_video<\/span>(<span class=\"code-snippet__params\">video_path<\/span>):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">if<\/span>&nbsp;os.path.exists(video_path):<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">with<\/span>&nbsp;<span class=\"code-snippet__built_in\">open<\/span>(video_path,&nbsp;<span class=\"code-snippet__string\">\"rb\"<\/span>)&nbsp;<span class=\"code-snippet__keyword\">as<\/span>&nbsp;f:\\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;allure.attach(\\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;f.read(),\\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;name=<span class=\"code-snippet__string\">\"\u6d4b\u8bd5\u6267\u884c\u89c6\u9891\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attachment_type=allure.attachment_type.MP4<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )<\/span><\/code><\/pre>\n<\/section>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u89c6\u9891\u9644\u4ef6\u7684\u4f53\u9a8c\u6bd4\u622a\u56fe\u597d\u5f88\u591a\uff0c\u7279\u522b\u662f\u6d89\u53ca\u5230\u62d6\u62fd\u3001\u52a8\u753b\u3001\u591a\u6b65\u9aa4\u4ea4\u4e92\u7684UI\u573a\u666f\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u89c6\u9891\u6587\u4ef6\u4f53\u79ef\u4e0d\u8981\u592a\u5927\uff0c\u5efa\u8bae\u5355\u6761\u63a7\u5236\u572820MB\u4ee5\u5185\u3002<\/span><\/span><\/span><\/span><\/span><\/span><\/section>\n<section style=\"text-align: center;\" nodeleaf=\"\">\n<figure class=\"wx-qr-wrap\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-aistatus=\"1\" data-imgfileid=\"100000637\" data-ratio=\"0.4818181818181818\" data-s=\"300,640\" data-type=\"png\" data-w=\"770\" type=\"block\" src=\"https:\/\/mmbiz.qpic.cn\/sz_mmbiz_png\/BWmfcibGhS1KDyQ6JoNlf3ULRK1lg2kCzYXN8MfIwrficFn9iasxOElSicgX2QuLO6MiaeAKuicTHwxXicPelUmaKiaIeCXRkzAbuASlF4ia7rIeykzc\/640?wx_fmt=png&#038;from=appmsg\" \/><figcaption class=\"wx-qr-tip\"><img decoding=\"async\" src=\"https:\/\/www.deartester.com\/wp-content\/uploads\/2026\/09\/wechat-qr.jpg\" alt=\"\u5fae\u4fe1\u516c\u4f17\u53f7\u4e8c\u7ef4\u7801\" loading=\"lazy\"><span>\u56fe\u7247\u5f15\u81ea\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u626b\u7801\u5173\u6ce8\u9605\u8bfb\u539f\u6587<\/span><\/figcaption><\/figure>\n<\/section>\n<section style=\"text-align: center;\"><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\"><span style=\"color: rgb(136, 146, 164);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 13px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u8d8b\u52bf\u6298\u7ebf\u56fe\u2014\u2014\u6a59\u8272\u70b9\u6807\u6ce8\u4e86\u56de\u5f52\u5f15\u5165\u7684\u65f6\u95f4\u70b9\uff0c\u56e2\u961f\u5feb\u901f\u5b9a\u4f4d\u4e86\u95ee\u9898\u8303\u56f4<\/span><\/span><\/span><\/span><\/span><\/section>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">05<\/span><\/span><span leaf=\"\">&nbsp;<span textstyle=\"\" style=\"font-size: 18px;color: rgb(2, 30, 170);font-weight: bold;\">Jenkins\u96c6\u6210\u2014\u2014\u6bcf\u6b21\u6784\u5efa\u81ea\u52a8\u51fa\u62a5\u544a<\/span><\/span><\/h2>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">5.1 \u4e3a\u4ec0\u4e48\u8981\u96c6\u6210\u5230Jenkins<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u672c\u5730\u8dd1Allure\u6ca1\u95ee\u9898\uff0c\u4f46\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e<\/span><\/span><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(217, 33, 66);\">\u8ba9\u62a5\u544a\u6210\u4e3aCI\/CD\u6d41\u7a0b\u7684\u5929\u7136\u4ea7\u7269<\/span><\/span><\/strong><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u2014\u2014\u4ee3\u7801\u63d0\u4ea4 \u2192 \u81ea\u52a8\u6784\u5efa \u2192 \u6d4b\u8bd5\u6267\u884c \u2192 \u62a5\u544a\u751f\u6210\uff0c\u5168\u7a0b\u65e0\u9700\u4eba\u5de5\u5e72\u9884\u3002<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u6211\u4eec\u56e2\u961f\u63a8\u8fdbAllure\u7684\u65f6\u5019\uff0cJenkins\u96c6\u6210\u662f\u6700\u96be\u8bf4\u670d\u4eba\u7684\u73af\u8282\u3002\u5f00\u53d1\u548c\u8fd0\u7ef4\u7684\u987e\u8651\u662f\uff1a&#8221;\u8fd9\u4e1c\u897f\u641e\u8fdb\u6765\uff0cJenkins\u914d\u7f6e\u4f1a\u4e0d\u4f1a\u53d8\u5f97\u5f88\u590d\u6742\uff1f\u51fa\u4e86\u95ee\u9898\u8c01\u7ef4\u62a4\uff1f&#8221;\u6211\u5f53\u65f6\u7684\u56de\u7b54\u662f\uff1a&#8221;\u914d\u7f6e\u4e00\u6b21\uff0c\u4ee5\u540e\u4e0d\u7528\u7ba1\u3002\u62a5\u544a\u81ea\u52a8\u751f\u6210\uff0c\u5931\u8d25\u81ea\u52a8\u901a\u77e5\u3002&#8221;\u540e\u6765\u8fd9\u4e2a\u627f\u8bfa\u57fa\u672c\u5151\u73b0\u4e86\uff0cJenkins\u7684Allure\u96c6\u6210\u6bd4\u6211\u60f3\u8c61\u4e2d\u7a33\u5b9a\u5f97\u591a\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">5.2 \u5b89\u88c5Allure\u63d2\u4ef6<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);\">Jenkins\u672c\u8eab\u4e0d\u652f\u6301Allure\uff0c\u9700\u8981\u5148\u88c5\u63d2\u4ef6\uff1a<\/span><\/span><\/p>\n<ol style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom:9px;line-height:1.75;color:#0052ff;font-size:15px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(0, 82, 255);\">\u8fdb\u5165 Jenkins \u2192 Manage Jenkins \u2192 Manage Plugins<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:#0052ff;font-size:15px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(0, 82, 255);\">\u5207\u6362\u5230 Available \u6807\u7b7e\u9875\uff0c\u641c\u7d22&#8221;Allure Jenkins Plugin&#8221;<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:#0052ff;font-size:15px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(0, 82, 255);\">\u52fe\u9009\u5b89\u88c5\uff0c\u5b89\u88c5\u5b8c\u6210\u540e\u91cd\u542fJenkins<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:#0052ff;font-size:15px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(0, 82, 255);\">\u8fdb\u5165 Manage Jenkins \u2192 Global Tool Configuration<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:#0052ff;font-size:15px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(0, 82, 255);\">\u627e\u5230 Allure Commandline\uff0c\u70b9\u51fb Add Allure Commandline<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:#0052ff;font-size:15px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(0, 82, 255);\">Name\u586b&nbsp;<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(217, 33, 66);\">allure<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(0, 82, 255);\">\uff0c\u52fe\u9009 Install automatically\uff0c\u7248\u672c\u9009\u62e9\u8f83\u65b0\u7684<\/span><\/span><\/section>\n<\/li>\n<\/ol>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">Jenkins\u4f1a\u81ea\u52a8\u4e0b\u8f7d\u5e76\u7ba1\u7406Allure\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u4e0d\u9700\u8981\u5728\u670d\u52a1\u5668\u4e0a\u624b\u52a8\u5b89\u88c5\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">5.3 \u81ea\u7531\u98ce\u683c\u9879\u76ee\u914d\u7f6e<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u5bf9\u4e8e\u81ea\u7531\u98ce\u683c\u9879\u76ee\uff0c\u914d\u7f6e\u5206\u4e24\u6b65\uff1a<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(217, 33, 66);\">\u7b2c\u4e00\u6b65\uff1a\u6784\u5efa\u6b65\u9aa4\uff08Execute shell\uff09<\/span><\/span><\/strong><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"bash\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u5b89\u88c5\u4f9d\u8d56<\/span><\/span><\/code><code><span leaf=\"\">python3 -m venv venv<\/span><\/code><code><span leaf=\"\">. venv\/bin\/activate<\/span><\/code><code><span leaf=\"\">pip install -r requirements.txt<\/span><\/code><code><span leaf=\"\">pip install allure-pytest<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u8fd0\u884c\u6d4b\u8bd5\uff0c\u751f\u6210\u6570\u636e\u5230allure-results\u76ee\u5f55<\/span><\/span><\/code><code><span leaf=\"\">pytest tests\/ --alluredir=.\/allure-results --clean-alluredir -v --tb=short<\/span><\/code><\/pre>\n<\/section>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><strong><span leaf=\"\" style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span textstyle=\"\" style=\"color: rgb(217, 33, 66);\">\u7b2c\u4e8c\u6b65\uff1a\u6784\u5efa\u540e\u6b65\u9aa4\uff08Allure Report\uff09<\/span><\/span><\/strong><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u6dfb\u52a0&#8221;Allure Report&#8221;\u6784\u5efa\u540e\u6b65\u9aa4\uff1a<\/span><\/p>\n<ul style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom: 9px;line-height: 1.75;\">\n<section><span leaf=\"\">Results \u8def\u5f84\u586b&nbsp;<\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">allure-results<\/span><\/code><span leaf=\"\">\uff08\u4e0e\u6784\u5efa\u6b65\u9aa4\u4e2d\u7684\u76ee\u5f55\u4e00\u81f4\uff09<\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\">\n<section><span leaf=\"\">Report \u8def\u5f84\u9ed8\u8ba4\u5373\u53ef<\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\">\n<section><span leaf=\"\">\u52fe\u9009 &#8220;Always link to last build&#8221;\uff08\u59cb\u7ec8\u5728\u6784\u5efa\u5386\u53f2\u4e2d\u663e\u793a\u62a5\u544a\u94fe\u63a5\uff09<\/span><\/section>\n<\/li>\n<\/ul>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u8fd9\u91cc\u6709\u4e2a\u7ec6\u8282\uff1a<\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">--clean-alluredir<\/span><\/code><span leaf=\"\">\u53c2\u6570\u53ea\u5728\u672c\u5730\u8c03\u8bd5\u65f6\u9700\u8981\u52a0\uff0cCI\/CD\u73af\u5883\u91ccJenkins\u6bcf\u6b21\u6784\u5efa\u90fd\u662f\u5168\u65b0\u7684workspace\uff0c\u4e0d\u5b58\u5728\u8986\u76d6\u95ee\u9898\uff0c\u6240\u4ee5CI\u91cc\u4e0d\u9700\u8981\u8fd9\u4e2a\u53c2\u6570\u3002<\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">5.4 \u62a5\u544a\u6301\u4e45\u5316\u4e0e\u4fdd\u7559\u7b56\u7565<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cJenkins\u4f1a\u4fdd\u7559\u6bcf\u6b21\u6784\u5efa\u7684\u62a5\u544a\u9875\u9762\u3002\u4f46\u6784\u5efa\u6b21\u6570\u591a\u4e86\u4f1a\u5360\u7528\u5927\u91cf\u78c1\u76d8\u7a7a\u95f4\uff0c\u9700\u8981\u914d\u7f6e\u4fdd\u7559\u7b56\u7565\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u5728&#8221;Allure Report&#8221;\u914d\u7f6e\u4e2d\uff0c\u627e\u5230 Report retention policy\uff1a<\/span><\/p>\n<ul style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);\">Keep last N builds<\/span><\/span><\/strong><br \/>\n<section><span leaf=\"\">\u4fdd\u7559\u8fd1N\u6b21\u6784\u5efa\u7684\u62a5\u544a\uff08\u63a8\u8350\u8bbe\u4e3a20~30\uff09<\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);\">Keep for N days<\/span><\/span><\/strong><br \/>\n<section><span leaf=\"\">\u6309\u65f6\u95f4\u4fdd\u7559\uff08\u63a8\u8350\u8bbe\u4e3a30\u5929\uff09<\/span><\/section>\n<\/li>\n<\/ul>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;font-weight: bold;\">\u6211\u4eec\u56e2\u961f\u9009\u7684\u662f&#8221;\u4fdd\u7559\u6700\u8fd125\u6b21&#8221;\uff0c\u8d85\u8fc725\u6b21\u7684\u5386\u53f2\u62a5\u544a\u57fa\u672c\u6ca1\u4eba\u5728\u610f\uff0c\u592a\u4e45\u8fdc\u7684\u6570\u636e\u53cd\u800c\u5e72\u6270\u5224\u65ad\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">5.5 Pipeline\u9879\u76ee\uff1aJenkinsfile\u914d\u7f6e<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\">\u5982\u679c\u9879\u76ee\u4f7f\u7528Pipeline\uff0c\u63a8\u8350\u7528Jenkinsfile\u7ba1\u7406\u914d\u7f6e\uff0c\u7248\u672c\u53ef\u63a7\u3001\u4fbf\u4e8e\u5ba1\u67e5\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u771f\u5b9e\u53ef\u7528\u7684Jenkinsfile\u6a21\u677f\uff1a<\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"php\"><code><span leaf=\"\"><span class=\"code-snippet__comment\">\/\/ Jenkinsfile - Allure\u6d4b\u8bd5\u62a5\u544aPipeline<\/span><\/span><\/code><code><span leaf=\"\">pipeline {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; agent any<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; environment {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; ALLURE_RESULTS =&nbsp;<span class=\"code-snippet__string\">'allure-results'<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; PYTHON_VERSION =&nbsp;<span class=\"code-snippet__string\">'3.11'<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; triggers {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\">\/\/ \u5b9a\u65f6\u89e6\u53d1\uff1a\u6bcf\u5929\u51cc\u66682\u70b9\u6267\u884c<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__title\">cron<\/span>(<span class=\"code-snippet__string\">'0 2 * * *'<\/span>)<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\">\/\/ \u4ee3\u7801\u63d0\u4ea4\u89e6\u53d1\uff08\u9700\u914d\u7f6eGitLab webhook\uff09<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__title\">gitlab<\/span>(<span class=\"code-snippet__attr\">triggerOnPush<\/span>:&nbsp;<span class=\"code-snippet__literal\">true<\/span>,<span class=\"code-snippet__attr\">&nbsp;triggerOnMergeRequest<\/span>:&nbsp;<span class=\"code-snippet__literal\">true<\/span>)<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; stages {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__title\">stage<\/span>(<span class=\"code-snippet__string\">'\u73af\u5883\u51c6\u5907'<\/span>) {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; steps {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">echo<\/span>&nbsp;<span class=\"code-snippet__string\">'\u51c6\u5907Python\u73af\u5883...'<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sh&nbsp;<span class=\"code-snippet__string\">'''<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; python3 -m venv venv<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; . venv\/bin\/activate<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pip install -r requirements.txt<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pip install allure-pytest<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<span class=\"code-snippet__string\">''<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__title\">stage<\/span>(<span class=\"code-snippet__string\">'\u8fd0\u884c\u6d4b\u8bd5'<\/span>) {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; steps {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">echo<\/span>&nbsp;<span class=\"code-snippet__string\">'\u6267\u884c\u6d4b\u8bd5\u7528\u4f8b...'<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sh&nbsp;<span class=\"code-snippet__string\">'''<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; . venv\/bin\/activate<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pytest tests\/ \\\\<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --alluredir=${ALLURE_RESULTS} \\\\<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -v \\\\<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --tb=short<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<span class=\"code-snippet__string\">''<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__title\">stage<\/span>(<span class=\"code-snippet__string\">'\u751f\u6210\u62a5\u544a'<\/span>) {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; steps {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">echo<\/span>&nbsp;<span class=\"code-snippet__string\">'\u751f\u6210Allure\u62a5\u544a...'<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; allure includeProperties:&nbsp;<span class=\"code-snippet__literal\">false<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;jdk:&nbsp;<span class=\"code-snippet__string\">''<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;results: [[path: env.ALLURE_RESULTS]]<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; post {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; always {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">echo<\/span>&nbsp;<span class=\"code-snippet__string\">'\u6784\u5efa\u540e\u5904\u7406...'<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; failure {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__comment\">\/\/ \u6784\u5efa\u5931\u8d25\u65f6\u53d1\u9001\u9489\u9489\u901a\u77e5<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__title\">dingtalk<\/span>(<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__attr\">&nbsp; robot<\/span>:&nbsp;<span class=\"code-snippet__string\">'your-robot-id'<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__attr\">&nbsp; type<\/span>:&nbsp;<span class=\"code-snippet__string\">'MARKDOWN'<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__attr\">&nbsp; title<\/span>:&nbsp;<span class=\"code-snippet__string\">'\u6d4b\u8bd5\u6784\u5efa\u5931\u8d25'<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__attr\">&nbsp; text<\/span>: [<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"### \u6d4b\u8bd5\u6784\u5efa\u5931\u8d25\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"- \u9879\u76ee\uff1a${env.JOB_NAME}\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"- \u6784\u5efa\uff1a#${env.BUILD_NUMBER}\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"- \u539f\u56e0\uff1a\u6d4b\u8bd5\u7528\u4f8b\u6267\u884c\u5931\u8d25\"<\/span>,<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__string\">\"- \u62a5\u544a\uff1a[\u67e5\u770b\u8be6\u60c5](${env.BUILD_URL}allure\/)\"<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; success {<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__keyword\">echo<\/span>&nbsp;<span class=\"code-snippet__string\">'\u6d4b\u8bd5\u901a\u8fc7\uff01'<\/span><\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class=\"code-snippet__title\">cleanWs<\/span>()<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; &nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">&nbsp; &nbsp; }<\/span><\/code><code><span leaf=\"\">}<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\">\/**<\/span><\/span><\/code><code><span leaf=\"\">&nbsp;* \u4f7f\u7528\u8bf4\u660e\uff1a<\/span><\/code><code><span leaf=\"\">&nbsp;* 1. \u5c06\u6b64\u6587\u4ef6\u653e\u5728\u9879\u76ee\u6839\u76ee\u5f55\uff0c\u547d\u540d\u4e3a Jenkinsfile<\/span><\/code><code><span leaf=\"\">&nbsp;* 2. Jenkins\u4e2d\u521b\u5efa Pipeline \u9879\u76ee\uff0c\u9009\u62e9 \"Pipeline script from SCM\"<\/span><\/code><code><span leaf=\"\">&nbsp;* 3. \u914d\u7f6eGit\u4ed3\u5e93\u5730\u5740<\/span><\/code><code><span leaf=\"\">&nbsp;* 4. \u786e\u4fddJenkins\u5df2\u5b89\u88c5 Allure Plugin \u548c DingTalk Plugin<\/span><\/code><code><span leaf=\"\">&nbsp;* 5. \u5728 Jenkins \u5168\u5c40\u914d\u7f6e\u4e2d\u6dfb\u52a0 Allure \u547d\u4ee4\u884c\u5de5\u5177<\/span><\/code><code><span leaf=\"\">&nbsp;*\/<\/span><\/code><\/pre>\n<\/section>\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"576\">\n<p data-pm-slice=\"0 0 []\" style=\"text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(255, 41, 65);\">\ud83d\udca1&nbsp;<\/span><span textstyle=\"\" style=\"font-size: 16px;color: rgb(255, 41, 65);font-weight: bold;\">\u9489\u9489\u901a\u77e5\u914d\u7f6e\u7ec6\u8282<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u9489\u9489\u673a\u5668\u4eba\u7684webhook\u5730\u5740\u9700\u8981\u5728Jenkins\u7684&#8221;DingTalk&#8221;\u63d2\u4ef6\u914d\u7f6e\u91cc\u586b\u5165\u3002\u521b\u5efa\u673a\u5668\u4eba\u65f6\uff0c\u9009\u62e9&#8221;\u81ea\u5b9a\u4e49\u673a\u5668\u4eba&#8221;\uff0c\u590d\u5236webhook URL\u5373\u53ef\u3002<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u901a\u77e5\u6d88\u606f\u91cc<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">${env.BUILD_URL}allure\/<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5c31\u662f\u62a5\u544a\u7684\u76f4\u63a5\u8bbf\u95ee\u94fe\u63a5\uff0c\u5f00\u53d1\u548c\u6d4b\u8bd5\u70b9\u8fdb\u53bb\u5c31\u80fd\u770b\u5230\u3002<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<section style=\"text-align: center;\" nodeleaf=\"\">\n<figure class=\"wx-qr-wrap\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-aistatus=\"1\" data-imgfileid=\"100000638\" data-ratio=\"0.5782608695652174\" data-s=\"300,640\" data-type=\"png\" data-w=\"690\" type=\"block\" src=\"https:\/\/mmbiz.qpic.cn\/mmbiz_png\/BWmfcibGhS1JhLxsIPDRoOdxiaPdGeTIjVu606xR5Jwa0hkaVqGSu0h41SwepGzOwFenE0nT93gSxXh4eVHtRwENdPf0ibStyezcxrhpd77NQ0\/640?wx_fmt=png&#038;from=appmsg\" \/><figcaption class=\"wx-qr-tip\"><img decoding=\"async\" src=\"https:\/\/www.deartester.com\/wp-content\/uploads\/2026\/09\/wechat-qr.jpg\" alt=\"\u5fae\u4fe1\u516c\u4f17\u53f7\u4e8c\u7ef4\u7801\" loading=\"lazy\"><span>\u56fe\u7247\u5f15\u81ea\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u626b\u7801\u5173\u6ce8\u9605\u8bfb\u539f\u6587<\/span><\/figcaption><\/figure>\n<\/section>\n<section style=\"text-align: center;\"><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\"><span style=\"color: rgb(136, 146, 164);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 13px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u81ea\u52a8\u5316\u6d41\u7a0b\u8ba9\u62a5\u544a\u6210\u4e3a\u6bcf\u6b21\u6784\u5efa\u7684\u5929\u7136\u4ea7\u51fa\u7269<\/span><\/span><\/span><\/span><\/span><\/section>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">06<\/span><\/span><span leaf=\"\">&nbsp;<span textstyle=\"\" style=\"font-size: 18px;color: rgb(0, 82, 255);font-weight: bold;\">\u5b9e\u6218\uff1a\u4ece0\u52301\u642d\u5efaAllure\u62a5\u544a\u4f53\u7cfb\u5b8c\u6574\u8bb0\u5f55<\/span><\/span><\/h2>\n<p style=\"text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(255, 41, 65);\">\ud83d\udccb \u5b9e\u6218\u590d\u76d8\uff1a\u67d0\u56e2\u961fAllure\u843d\u5730\u5168\u8bb0\u5f55<\/span><\/span><\/p>\n<h4 style=\"font-size: 15px;color: rgb(22, 33, 62);margin: 16px 0px 8px;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);font-weight: bold;\">\u56e2\u961f\u73b0\u72b6\uff08\u843d\u5730\u524d\uff09<\/span><\/span><\/h4>\n<p style=\"margin: 14px 0px;color: rgb(52, 73, 94);text-indent: 2em;\"><span leaf=\"\">\u56e2\u961f\u89c4\u6a21\u7ea612\u4eba\uff0c\u6d4b\u8bd5\u5de5\u7a0b\u5e085\u4eba\u3002\u6d4b\u8bd5\u6846\u67b6\u662fPytest\uff0c\u4f46\u62a5\u544a\u7528\u7684\u662f\u624b\u5de5Excel\u6c47\u603b\u3002\u6bcf\u5468\u4e94\u4e0b\u5348\u6d4b\u8bd5\u7ec4\u957f\u82b12~3\u5c0f\u65f6\u6574\u7406\u5468\u62a5\uff0c\u5173\u952e\u6570\u636e\u9760\u8bb0\u5fc6\u586b\u5145\uff0c\u7ecf\u5e38\u51fa\u73b0\u6570\u636e\u5bf9\u4e0d\u4e0a\u7684\u60c5\u51b5\u3002\u5f00\u53d1\u548c\u6d4b\u8bd5\u4e4b\u95f4\u7ecf\u5e38\u56e0\u4e3a&#8221;\u6d4b\u8bd5\u7ed3\u8bba\u4e0d\u6e05\u6670&#8221;\u4ea7\u751f\u6469\u64e6\u3002<\/span><\/p>\n<p><span style=\"background: rgb(232, 244, 253);color: rgb(15, 52, 96);border: 1px solid rgb(179, 216, 248);font-size: 12px;padding: 3px 10px;border-radius: 12px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u7528\u4f8b\uff1a\u7ea6180<\/span><\/span><\/span><span style=\"background: rgb(232, 244, 253);color: rgb(15, 52, 96);border: 1px solid rgb(179, 216, 248);font-size: 12px;padding: 3px 10px;border-radius: 12px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u9891\u7387\uff1a\u6bcf\u65e5<\/span><\/span><\/span><span style=\"background: rgb(232, 244, 253);color: rgb(15, 52, 96);border: 1px solid rgb(179, 216, 248);font-size: 12px;padding: 3px 10px;border-radius: 12px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u5f62\u5f0f\uff1aExcel<\/span><\/span><\/span><span style=\"background: rgb(232, 244, 253);color: rgb(15, 52, 96);border: 1px solid rgb(179, 216, 248);font-size: 12px;padding: 3px 10px;border-radius: 12px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u6210\u672c\uff1a\u9ad8<\/span><\/span><\/span><\/p>\n<h4 style=\"font-size: 15px;color: rgb(22, 33, 62);margin: 16px 0px 8px;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);font-weight: bold;\">\u9009\u578b\u8fc7\u7a0b<\/span><\/span><\/h4>\n<p style=\"margin: 14px 0px;color: rgb(52, 73, 94);\"><span leaf=\"\">\u5bf9\u6bd4\u4e86pytest-html\u548cAllure\uff0c\u6700\u7ec8\u9009Allure\u7684\u539f\u56e0\u6709\u4e09\u4e2a\uff1a<\/span><\/p>\n<ul style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom: 9px;line-height: 1.75;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u8d8b\u52bf\u56fe\u529f\u80fd<\/span><\/strong><br \/>\n<section><span leaf=\"\">\u9886\u5bfc\u660e\u786e\u8981\u6c42\u80fd\u770b\u5230\u5386\u53f2\u5bf9\u6bd4\uff0cpytest-html\u4e0d\u652f\u6301<\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u6b65\u9aa4\u5d4c\u5957<\/span><\/strong><br \/>\n<section><span leaf=\"\">\u63a5\u53e3\u6d4b\u8bd5\u7528\u4f8b\u6b65\u9aa4\u591a\uff0c\u5d4c\u5957\u5c55\u793a\u80fd\u51cf\u5c11\u6c9f\u901a\u6210\u672c<\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">Jenkins\u63d2\u4ef6\u6210\u719f\u5ea6<\/span><\/strong><br \/>\n<section><span leaf=\"\">Allure Jenkins Plugin\u793e\u533a\u6d3b\u8dc3\uff0c\u6587\u6863\u5b8c\u5584<\/span><\/section>\n<\/li>\n<\/ul>\n<h4 style=\"font-size: 15px;color: rgb(22, 33, 62);margin: 16px 0px 8px;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);font-weight: bold;\">\u642d\u5efa\u6b65\u9aa4\uff08\u8017\u65f63\u5929\uff09<\/span><\/span><\/h4>\n<p style=\"margin: 14px 0px;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u7b2c1\u5929\uff08\u4e0b\u5348\uff09\uff1a<\/span><\/strong><span leaf=\"\">\u672c\u5730\u73af\u5883\u642d\u901a\u3002\u5b89\u88c5\u4f9d\u8d56\uff0c\u8dd1\u901ademo\uff0c\u53d1\u7ed9\u7ec4\u957f\u548c\u4e24\u4f4d\u5f00\u53d1\u770bdemo\uff0c\u5f97\u5230\u8ba4\u53ef<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u7b2c2\u5929\uff1a<\/span><\/strong><span leaf=\"\">\u5728Jenkins\u6d4b\u8bd5\u73af\u5883\u914d\u7f6e\u6d41\u6c34\u7ebf\u3002\u9047\u5230\u7248\u672c\u4e0d\u5339\u914d\u7684\u95ee\u9898\uff08Allure CLI\u7248\u672c2.24\uff0c\u63d2\u4ef6\u8981\u6c422.25\u4ee5\u4e0a\uff09\uff0c\u66f4\u65b0CLI\u540e\u89e3\u51b3\u3002\u751f\u6210\u7b2c\u4e00\u5f20\u6b63\u5f0f\u62a5\u544a<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u7b2c3\u5929\uff1a<\/span><\/strong><span leaf=\"\">\u5c06180\u6761\u7528\u4f8b\u5206\u6279\u6539\u9020\u3002\u7b2c\u4e00\u627950\u6761\u6838\u5fc3\u5192\u70df\u7528\u4f8b\u52a0\u88c5\u9970\u5668\uff0c\u5176\u4f59130\u6761\u4fdd\u6301\u539f\u6837\u6e10\u8fdb\u63a8\u8fdb\u3002\u914d\u7f6e\u9489\u9489\u901a\u77e5\u673a\u5668\u4eba<\/span><\/p>\n<h4 style=\"font-size: 15px;color: rgb(22, 33, 62);margin: 16px 0px 8px;text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(255, 41, 65);font-weight: bold;\">\u9047\u5230\u7684\u95ee\u9898<\/span><\/span><\/h4>\n<ul style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom: 9px;line-height: 1.75;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u4e2d\u6587\u4e71\u7801<\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">Windows\u73af\u5883\u4e0bconftest.py\u91cc\u52a0\u4e86UTF-8\u7f16\u7801\u5f3a\u5236\u8bbe\u7f6e\u89e3\u51b3<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u5386\u53f2\u8d8b\u52bf\u4e0d\u663e\u793a<\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u521d\u671f\u7528&#8211;clean-alluredir\u53c2\u6570\u5bfc\u81f4\u5386\u53f2\u6570\u636e\u88ab\u6e05\uff0c\u6539\u4e3aCI\u73af\u5883\u4e0d\u52a0\u6b64\u53c2\u6570<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;color: rgb(52, 73, 94);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u62a5\u544a\u90e8\u7f72<\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">Allure\u5185\u7f6e\u670d\u52a1\u4e0d\u7a33\u5b9a\uff0c\u6539\u7528Nginx\u4ee3\u7406\u9759\u6001\u62a5\u544a\u76ee\u5f55\uff0c\u7ed9\u56e2\u961f\u56fa\u5b9a\u8bbf\u95ee\u5730\u5740<\/span><\/span><\/section>\n<\/li>\n<\/ul>\n<h4 style=\"font-size: 15px;color: rgb(22, 33, 62);margin: 16px 0px 8px;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);font-weight: bold;\">\u6700\u7ec8\u6548\u679c<\/span><\/span><\/h4>\n<p><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(172, 57, 255);font-weight: bold;\">\u62a5\u544a\u6574\u7406\u65f6\u95f4<\/span><span textstyle=\"\" style=\"font-size: 16px;font-weight: bold;\">\uff1a<\/span><span textstyle=\"\" style=\"font-size: 15px;\">3\u5c0f\u65f6 \u2192 5\u5206\u949f\uff08\u81ea\u52a8\u5316\u751f\u6210\uff09<\/span><\/span><\/p>\n<p><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(172, 57, 255);font-weight: bold;\">\u7528\u4f8b\u8986\u76d6\u7387<\/span><span textstyle=\"\" style=\"font-size: 16px;font-weight: bold;\">\uff1a<\/span><span textstyle=\"\" style=\"font-size: 15px;\">27% \u2192 100%<\/span><\/span><\/p>\n<p><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(172, 57, 255);font-weight: bold;\">\u5f00\u53d1\u6ee1\u610f\u5ea6<\/span><span textstyle=\"\" style=\"font-size: 16px;font-weight: bold;\">\uff1a<\/span><span textstyle=\"\" style=\"font-size: 15px;\">&#8220;\u6d4b\u8bd5\u7ed3\u8bba\u66f4\u6e05\u6670\u4e86&#8221;<\/span><\/span><\/p>\n<h4 style=\"font-size: 15px;color: rgb(22, 33, 62);margin: 16px 0px 8px;text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(64, 118, 0);font-weight: bold;\">\u56e2\u961f\u53cd\u9988\uff08\u843d\u57303\u4e2a\u6708\u540e\uff09<\/span><\/span><\/h4>\n<p style=\"margin: 14px 0px;color: rgb(52, 73, 94);text-indent: 2em;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">&#8220;\u4ee5\u524d\u5468\u4e94\u4e0b\u5348\u6700\u6015\u4ea4\u5468\u62a5\uff0c\u73b0\u5728\u62a5\u544a\u81ea\u52a8\u751f\u6210\uff0c\u6211\u53ea\u9700\u8981\u5199\u51e0\u53e5\u7ed3\u8bba\u5c31\u5b8c\u4e8b\u3002&#8221;&#8221;\u5f00\u53d1\u95ee\u95ee\u9898\u7684\u65f6\u5019\u76f4\u63a5\u7529\u62a5\u544a\u94fe\u63a5\uff0c\u6bd4\u6211\u622a\u56fe\u53d1\u90ae\u4ef6\u6e05\u695a\u591a\u4e86\u3002&#8221;&#8221;\u8d8b\u52bf\u56fe\u529f\u80fd\u9886\u5bfc\u7528\u5f97\u6700\u52e4\uff0c\u6bcf\u5468\u5468\u4f1a\u7b2c\u4e00\u4e2a\u70b9\u5f00\u770b\u3002&#8221;&#8221;\u5076\u5c14\u6d4b\u8bd5\u5931\u8d25\uff0c\u622a\u56fe\u548c\u65e5\u5fd7\u90fd\u5728\u62a5\u544a\u91cc\uff0c\u4e0d\u9700\u8981\u6211\u518d\u89e3\u91ca\u534a\u5929\u4e86\u3002&#8221;<\/span><\/span><\/p>\n<h4 style=\"font-size: 15px;color: rgb(22, 33, 62);margin: 16px 0px 8px;text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(0, 122, 170);font-weight: bold;\">\u53ef\u590d\u5236\u7684\u884c\u52a8\u6e05\u5355<\/span><\/span><\/h4>\n<ol style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom:9px;line-height:1.75;color:rgb(52, 73, 94);font-size:16px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;text-decoration: underline;\">\u5148\u5728\u672c\u5730\u8dd1\u901ademo\uff0c\u8ba9leader\u548c\u81f3\u5c11\u4e00\u540d\u5f00\u53d1\u4f53\u9a8c\u4e00\u4e0b<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:rgb(52, 73, 94);font-size:16px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;text-decoration: underline;\">\u5728Jenkins\u6d4b\u8bd5\u73af\u5883\u642d\u4e00\u6761\u6d41\u6c34\u7ebf\uff0c\u8dd1\u901a\u540e\u518d\u63a8\u5e7f<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:rgb(52, 73, 94);font-size:16px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;text-decoration: underline;\">\u7528\u4f8b\u6539\u9020\u5206\u6279\u8fdb\u884c\uff0c\u6838\u5fc3\u5192\u70df\u7528\u4f8b\u4f18\u5148\uff08\u5f71\u54cd\u6700\u5927\u768420%\u7528\u4f8b\u4f18\u5148\u5904\u7406\uff09<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:rgb(52, 73, 94);font-size:16px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;text-decoration: underline;\">\u62a5\u544a\u8bbf\u95ee\u5730\u5740\u56fa\u5b9a\u5316\uff08Nginx\u6216\u5185\u7f51\u9759\u6001\u670d\u52a1\uff09\uff0c\u4e0d\u8981\u6bcf\u6b21\u4eceJenkins\u53e3\u8fdb<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom:9px;line-height:1.75;color:rgb(52, 73, 94);font-size:16px;\">\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;text-decoration: underline;\">\u5931\u8d25\u901a\u77e5\u6e20\u9053\u5148\u7528\u8d77\u6765\uff0c\u8ba9\u56e2\u961f\u611f\u53d7\u5230&#8221;\u6d4b\u8bd5\u5931\u8d25\u5c31\u6709\u4eba\u77e5\u9053&#8221;\u8fd9\u4e2a\u53d8\u5316<\/span><\/span><\/section>\n<\/li>\n<\/ol>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">07<\/span><\/span><span leaf=\"\">&nbsp;<span textstyle=\"\" style=\"font-size: 18px;color: rgb(0, 82, 255);font-weight: bold;\">\u907f\u5751\u6307\u5357\u2014\u20144\u4e2a\u5e38\u89c1\u95ee\u9898<\/span><\/span><\/h2>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(255, 41, 65);font-weight: bold;\">\u57511\uff1a\u62a5\u544a\u6253\u5f00\u767d\u5c4f<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u75c7\u72b6\uff1a<\/span><\/strong><span leaf=\"\">\u53cc\u51fbindex.html\uff0c\u6d4f\u89c8\u5668\u663e\u793a\u767d\u5c4f\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u539f\u56e0\uff1a<\/span><\/strong><span leaf=\"\">Allure\u62a5\u544a\u4f9d\u8d56HTTP\u670d\u52a1\u52a0\u8f7d\u8d44\u6e90\uff0c\u76f4\u63a5\u7528file:\/\/\u534f\u8bae\u6253\u5f00\u4f1a\u88ab\u6d4f\u89c8\u5668\u7684\u5b89\u5168\u7b56\u7565\u62e6\u622a\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u89e3\u51b3\uff1a<\/span><\/strong><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"bash\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u5fc5\u987b\u901a\u8fc7HTTP\u670d\u52a1\u8bbf\u95ee<\/span><\/span><\/code><code><span leaf=\"\">allure serve .\/allure-results<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u6216\u5148\u751f\u6210\u62a5\u544a\uff0c\u518d\u7528\u670d\u52a1\u6253\u5f00<\/span><\/span><\/code><code><span leaf=\"\">allure generate .\/allure-results -o .\/allure-report --clean<\/span><\/code><code><span leaf=\"\">allure open .\/allure-report<\/span><\/code><\/pre>\n<\/section>\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"576\">\n<p data-pm-slice=\"0 0 []\" style=\"text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(255, 41, 65);\">\u26a0 \u5206\u4eab\u62a5\u544a\u7684\u6b63\u786e\u65b9\u5f0f<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u4e0d\u80fd\u76f4\u63a5\u628aallure-report\u76ee\u5f55\u6253\u5305\u53d1\u7ed9\u540c\u4e8b<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u2460 \u90e8\u7f72\u5230Nginx\/Apache\u7b49HTTP\u670d\u52a1\u5668\u4e0a\uff0c\u7ed9\u4e00\u4e2a\u56fa\u5b9aURL\uff1b<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u2461 \u7528<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">allure open<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u8ba9\u540c\u4e8b\u81ea\u5df1\u542f\u52a8\u672c\u5730\u670d\u52a1\u67e5\u770b\uff1b<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u2462 \u5728CI\u91cc\u628a\u62a5\u544a\u4e0a\u4f20\u5230\u5185\u7f51\u6587\u4ef6\u670d\u52a1\u3002<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(255, 41, 65);font-weight: bold;\">\u57512\uff1a\u4e2d\u6587\u4e71\u7801<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u75c7\u72b6\uff1a<\/span><\/strong><span leaf=\"\">\u62a5\u544a\u4e2d\u7684\u4e2d\u6587\u663e\u793a\u4e3a\u65b9\u5757\u6216\u95ee\u53f7\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u539f\u56e0\uff1a<\/span><\/strong><span leaf=\"\">Windows\u7cfb\u7edf\u9ed8\u8ba4\u7f16\u7801\u662fGBK\uff0c\u800cAllure\u671f\u671bUTF-8\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u89e3\u51b3\uff1a<\/span><\/strong><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u65b9\u6848\u4e00\uff1aconftest.py\u4e2d\u5f3a\u5236\u8bbe\u7f6e\u7f16\u7801<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;sys<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__keyword\">import<\/span>&nbsp;io<\/span><\/code><code><span leaf=\"\">sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding=<span class=\"code-snippet__string\">'utf-8'<\/span>)<\/span><\/code><code><span leaf=\"\">sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding=<span class=\"code-snippet__string\">'utf-8'<\/span>)<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u65b9\u6848\u4e8c\uff1a\u786e\u4fddPython\u6587\u4ef6\u4fdd\u5b58\u4e3aUTF-8\u7f16\u7801\uff08\u5927\u90e8\u5206IDE\u9ed8\u8ba4\u5982\u6b64\uff09<\/span><\/span><\/code><\/pre>\n<\/section>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(255, 41, 65);font-weight: bold;\">\u57513\uff1a\u5386\u53f2\u8d8b\u52bf\u4e0d\u663e\u793a<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u75c7\u72b6\uff1a<\/span><\/strong><span leaf=\"\">\u8fd0\u884c\u4e86\u591a\u6b21\u6d4b\u8bd5\uff0c\u4f46\u62a5\u544a\u91cc\u53ea\u6709\u4e00\u6b21\u6570\u636e\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u539f\u56e0\uff1a<\/span><\/strong><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">--clean-alluredir<\/span><\/code><span leaf=\"\">\u53c2\u6570\u5728CI\u73af\u5883\u4e2d\u6bcf\u6b21\u6784\u5efa\u90fd\u4f1a\u6e05\u7a7a\u7ed3\u679c\u76ee\u5f55\uff0c\u5386\u53f2\u6570\u636e\u65e0\u6cd5\u7d2f\u79ef\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u89e3\u51b3\uff1a<\/span><\/strong><span leaf=\"\">CI\/CD\u73af\u5883\u4e2d\u4e0d\u8981\u52a0<\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\">--clean-alluredir<\/span><\/code><span leaf=\"\">\u53c2\u6570\uff0c\u8ba9Jenkins\u7684Allure\u63d2\u4ef6\u81ea\u52a8\u7ba1\u7406\u5386\u53f2\u6570\u636e\u4fdd\u7559\u7b56\u7565\u3002\u672c\u5730\u8c03\u8bd5\u65f6\u53ef\u4ee5\u52a0\uff0c\u65b9\u4fbf\u6bcf\u6b21\u6e05\u7a7a\u91cd\u6765<\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(255, 41, 65);font-weight: bold;\">\u57514\uff1a\u63d2\u4ef6\u7248\u672c\u4e0d\u5339\u914d<\/span><\/span><\/h3>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u75c7\u72b6\uff1a<\/span><\/strong><span leaf=\"\">\u62a5\u544a\u751f\u6210\u5931\u8d25\uff0c\u62a5\u9519&#8221;Allure version not supported&#8221;\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u539f\u56e0\uff1a<\/span><\/strong><span leaf=\"\">Jenkins Allure\u63d2\u4ef6\u7248\u672c\u4e0eAllure\u547d\u4ee4\u884c\u5de5\u5177\u7248\u672c\u4e0d\u517c\u5bb9\u3002<\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u89e3\u51b3\uff1a<\/span><\/strong><span leaf=\"\">\u5728Jenkins\u7684Global Tool Configuration\u4e2d\uff0c\u5c06Allure Commandline\u7684\u7248\u672c\u66f4\u65b0\u5230\u8f83\u65b0\u7248\u672c\uff08\u63a8\u83502.25.0\u4ee5\u4e0a\uff09\u3002\u786e\u4fdd\u63d2\u4ef6\u7248\u672c\u548cCLI\u7248\u672c\u5339\u914d<\/span><\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<pre class=\"code-snippet__js\" data-lang=\"nginx\"><code><span leaf=\"\"><span class=\"code-snippet__comment\"># \u672c\u5730\u68c0\u67e5\u7248\u672c<\/span><\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__attribute\">allure<\/span>&nbsp;--version<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># Windows\u66f4\u65b0<\/span><\/span><\/code><code><span leaf=\"\">scoop update allure<\/span><\/code><code><span leaf=\"\"><span class=\"code-snippet__comment\"># macOS\u66f4\u65b0<\/span><\/span><\/code><code><span leaf=\"\">brew upgrade allure<\/span><\/code><\/pre>\n<\/section>\n<section style=\"text-align: center;\" nodeleaf=\"\">\n<figure class=\"wx-qr-wrap\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-aistatus=\"1\" data-imgfileid=\"100000639\" data-ratio=\"0.41365461847389556\" data-s=\"300,640\" data-type=\"png\" data-w=\"747\" type=\"block\" src=\"https:\/\/mmbiz.qpic.cn\/mmbiz_png\/BWmfcibGhS1Jhq4fTrcwvxCHIXiaWg2GJuNf7VVsdbgJ4RyCWI0g6Vmte5ojGF9XhctNvgSykO7JWeGAREUVFvF5Gic7qpMibTibIibqibQBOL10M4\/640?wx_fmt=png&#038;from=appmsg\" \/><figcaption class=\"wx-qr-tip\"><img decoding=\"async\" src=\"https:\/\/www.deartester.com\/wp-content\/uploads\/2026\/09\/wechat-qr.jpg\" alt=\"\u5fae\u4fe1\u516c\u4f17\u53f7\u4e8c\u7ef4\u7801\" loading=\"lazy\"><span>\u56fe\u7247\u5f15\u81ea\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u626b\u7801\u5173\u6ce8\u9605\u8bfb\u539f\u6587<\/span><\/figcaption><\/figure>\n<\/section>\n<section style=\"text-align: center;\"><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\"><span style=\"color: rgb(136, 146, 164);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 13px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;\" data-pm-slice=\"0 0 []\"><span leaf=\"\">\u907f\u5751\u6307\u5357\u6c47\u603b\u2014\u2014\u843d\u5730Allure\u521d\u671f80%\u7684\u8e29\u5751<\/span><\/span><\/span><\/span><\/span><\/section>\n<hr style=\"border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);\"  \/>\n<section><span data-pm-slice=\"0 0 []\"><span data-pm-slice=\"0 0 []\"><span style=\"color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;\"><span leaf=\"\"><br  \/><\/span><\/span><\/span><\/span><\/section>\n<h2 style=\"font-size: 21px;color: rgb(15, 52, 96);margin: 40px 0px 18px;padding-left: 14px;border-left: 5px solid rgb(79, 195, 247);line-height: 1.4;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" data-pm-slice=\"0 0 []\"><span style=\"color: rgb(255, 167, 38);font-weight: 700;margin-right: 8px;\"><span leaf=\"\">08<\/span><\/span><span leaf=\"\">&nbsp;<span textstyle=\"\" style=\"font-size: 18px;color: rgb(0, 82, 255);font-weight: bold;\">Allure vs \u5176\u4ed6\u5de5\u5177\u5bf9\u6bd4 + \u884c\u52a8\u6e05\u5355<\/span><\/span><\/h2>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">\u5de5\u5177\u6a2a\u5411\u5bf9\u6bd4<\/span><\/span><\/h3>\n<table style=\"width: 704px;border-collapse: collapse;margin: 20px 0px;font-size: 14px;border-radius: 8px;overflow: hidden;border: 1px solid rgb(224, 230, 240);color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\">\n<thead>\n<tr>\n<th style=\"background: rgb(22, 33, 62);color: rgb(255, 255, 255);font-weight: 600;padding: 13px 16px;text-align: left;\">\n<section style=\"text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(214, 168, 65);\">\u7ef4\u5ea6<\/span><\/span><\/section>\n<\/th>\n<th style=\"background: rgb(22, 33, 62);color: rgb(255, 255, 255);font-weight: 600;padding: 13px 16px;text-align: left;\">\n<section style=\"text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(214, 168, 65);\">Allure<\/span><\/span><\/section>\n<\/th>\n<th style=\"background: rgb(22, 33, 62);color: rgb(255, 255, 255);font-weight: 600;padding: 13px 16px;text-align: left;\">\n<section style=\"text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(214, 168, 65);\">pytest-html<\/span><\/span><\/section>\n<\/th>\n<th style=\"background: rgb(22, 33, 62);color: rgb(255, 255, 255);font-weight: 600;padding: 13px 16px;text-align: left;\">\n<section style=\"text-align: center;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(214, 168, 65);\">unittest-xml<\/span><\/span><\/section>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u53ef\u89c6\u5316\u7a0b\u5ea6<\/span><\/strong><\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2605\u2605 \u997c\u56fe\u3001\u8d8b\u52bf\u56fe\u3001\u6b65\u9aa4\u6811<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2606\u2606 \u57fa\u7840HTML\u8868\u683c<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2606\u2606\u2606 \u7eafXML<\/span><\/section>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u4e0a\u624b\u96be\u5ea6<\/span><\/strong><\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2606\u2606 \u9700\u5b66\u88c5\u9970\u5668<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2605\u2605 \u96f6\u5b66\u4e60\u6210\u672c<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2605\u2606 \u7b80\u5355\u914d\u7f6e<\/span><\/section>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">Jenkins\u96c6\u6210<\/span><\/strong><\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2605\u2605 \u4e13\u7528\u63d2\u4ef6<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2606\u2606 \u9700\u624b\u52a8\u914d\u7f6e<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2606\u2606 \u9700\u7b2c\u4e09\u65b9<\/span><\/section>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u5386\u53f2\u8d8b\u52bf<\/span><\/strong><\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2605\u2605 \u81ea\u52a8\u751f\u6210<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2606\u2606\u2606 \u4e0d\u652f\u6301<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2606\u2606\u2606 \u4e0d\u652f\u6301<\/span><\/section>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u9644\u4ef6\u652f\u6301<\/span><\/strong><\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2605\u2605 \u622a\u56fe\/\u89c6\u9891\/\u65e5\u5fd7<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2606\u2606 \u4ec5\u622a\u56fe<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);\">\n<section><span leaf=\"\">\u2605\u2605\u2606\u2606\u2606 \u4e0d\u652f\u6301<\/span><\/section>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\">\u591a\u8bed\u8a00<\/span><\/strong><\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2605\u2605\u2605 Python\/Java\/JS\u7b49<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2606\u2606\u2606 \u4ec5Python<\/span><\/section>\n<\/td>\n<td style=\"padding: 11px 16px;border-bottom: 1px solid rgb(232, 237, 245);background: rgb(248, 250, 252);\">\n<section><span leaf=\"\">\u2605\u2605\u2606\u2606\u2606 \u4ec5Python<\/span><\/section>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: rgb(171, 25, 66);font-weight: bold;\">\u9009\u578b\u5efa\u8bae\uff1a<\/span><span textstyle=\"\" style=\"font-size: 15px;\">\u56e2\u961f\u91cd\u89c6\u53ef\u89c6\u5316\u3001\u9700\u8981\u5386\u53f2\u8d8b\u52bf\u6570\u636e\u3001\u591a\u4eba\u534f\u4f5c\u5f00\u53d1\u3001CI\/CD\u6d41\u7a0b\u6210\u719f\u7684\uff0c\u9009Allure\u4e0d\u4f1a\u540e\u6094\u3002\u60f3\u5feb\u901f\u51fa\u7ed3\u679c\u3001\u4e34\u65f6\u7528\u4e00\u4e0b\u3001\u4e0d\u60f3\u6539\u4ee3\u7801\u7684\uff0cpytest-html\u591f\u7528\u3002\u9057\u7559\u8001\u9879\u76ee\u91cc\u7ee7\u7eed\u7528unittest-xml\u4e5f\u884c\uff0c\u914d\u5408Jenkins JUnit\u63d2\u4ef6\u4e5f\u80fd\u770b\u3002<\/span><\/span><\/p>\n<h3 style=\"font-size: 17px;color: rgb(22, 33, 62);margin: 26px 0px 12px;padding-left: 10px;border-left: 3px solid rgb(255, 167, 38);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 16px;color: rgb(123, 12, 0);font-weight: bold;\">5\u6b65\u884c\u52a8\u6e05\u5355<\/span><\/span><\/h3>\n<ol style=\"margin: 14px 0px 14px 24px;color: rgb(58, 58, 74);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\" class=\"list-paddingleft-1\">\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: #7b0c00;\">\u4eca\u5929\uff1a<\/span><\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u88c5\u597dAllure\u4f9d\u8d56\uff0c\u7528\u672c\u6587\u7684test_demo.py\u8dd1\u901a\u7b2c\u4e00\u4e2a\u62a5\u544a\u3002\u6574\u4e2a\u8fc7\u7a0b\u4e0d\u8d85\u8fc715\u5206\u949f\u3002<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: #7b0c00;\">\u672c\u5468\uff1a<\/span><\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5728\u73b0\u6709\u6d4b\u8bd5\u9879\u76ee\u91cc\u90095\u4e2a\u6838\u5fc3\u7528\u4f8b\uff0c\u52a0<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">@allure.step<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u548c<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">@allure.feature<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u88c5\u9970\u5668\uff0c\u751f\u6210\u4e00\u5f20\u5e26\u6b65\u9aa4\u7684\u5b8c\u6574\u62a5\u544a\uff0c\u53d1\u7ed9\u5f00\u53d1\u770b\u770b\u6548\u679c\u3002<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: #7b0c00;\">\u672c\u5468\uff1a<\/span><\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u5728Jenkins\u6d4b\u8bd5\u73af\u5883\u642d\u4e00\u6761\u6d41\u6c34\u7ebf\uff0c\u8dd1\u901a\u81ea\u52a8\u62a5\u544a\u751f\u6210\u3002\u6d41\u6c34\u7ebf\u7684\u4ef7\u503c\u5728\u4e8e\u8ba9\u6240\u6709\u4eba\u770b\u5230&#8221;\u6bcf\u6b21\u63d0\u4ea4\u4ee3\u7801\uff0c\u62a5\u544a\u5c31\u81ea\u52a8\u66f4\u65b0&#8221;\u8fd9\u4e2a\u8fc7\u7a0b\u3002<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: #7b0c00;\">\u4e0b\u5468\u4e00\uff1a<\/span><\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u914d\u7f6e\u9489\u9489\uff08\u6216\u4f01\u4e1a\u5fae\u4fe1\uff09\u901a\u77e5\u673a\u5668\u4eba\u3002\u5931\u8d25\u65f6\u81ea\u52a8\u63a8\u9001\u6d88\u606f\u5230\u7fa4\uff0c\u8fd9\u4e2a\u529f\u80fd\u5bf9\u56e2\u961f\u611f\u77e5\u6d4b\u8bd5\u72b6\u6001\u6700\u6709\u7acb\u7aff\u89c1\u5f71\u7684\u6548\u679c\u3002<\/span><\/span><\/section>\n<\/li>\n<li style=\"margin-bottom: 9px;line-height: 1.75;\"><strong style=\"color: rgb(22, 33, 62);font-weight: 700;\"><span leaf=\"\"><span textstyle=\"\" style=\"color: #7b0c00;\">\u4e24\u5468\u5185\uff1a<\/span><\/span><\/strong><br \/>\n<section><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;\">\u628a\u62a5\u544a\u8bbf\u95ee\u5730\u5740\u56fa\u5b9a\u5316\u2014\u2014\u7528Nginx\u4ee3\u7406allure-report\u76ee\u5f55\uff0c\u7ed9\u56e2\u961f\u4e00\u4e2a\u6536\u85cf\u5939\u94fe\u63a5\u3002\u6bcf\u5468\u5468\u4f1a\u524d\u9886\u5bfc\u5c31\u80fd\u81ea\u5df1\u53bb\u770b\uff0c\u4e0d\u9700\u8981\u4f60\u518d\u53d1\u90ae\u4ef6\u4e86\u3002<\/span><\/span><\/section>\n<\/li>\n<\/ol>\n<p style=\"margin: 14px 0px;text-indent: 2em;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 15px;color: rgb(2, 30, 170);\">\u6d4b\u8bd5\u62a5\u544a\u7684\u4ef7\u503c\uff0c\u4e0d\u5728\u4e8e\u5b83\u6709\u591a\u597d\u770b\uff0c\u800c\u5728\u4e8e\u5b83\u80fd\u4e0d\u80fd\u8ba9\u51b3\u7b56\u8005\u5feb\u901f\u7406\u89e3\u6d4b\u8bd5\u7ed3\u679c\u3002Allure\u5e2e\u6211\u505a\u5230\u4e86\u4e00\u70b9\uff1a\u7528\u56fe\u8868\u8bf4\u8bdd\uff0c\u7528\u6570\u636e\u670d\u4eba\u3002\u5e0c\u671b\u8fd9\u7bc7\u6587\u7ae0\u4e5f\u80fd\u5e2e\u5230\u4f60<\/span><\/span><\/p>\n<hr style=\"border-width: 1px medium medium;border-style: solid none none;border-color: rgb(228, 234, 245) currentcolor currentcolor;border-image: none;margin: 36px 0px;font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"  \/>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u518d\u591a\u5206\u4eab\u4e00\u4e2a\u8fdb\u9636\u64cd\u4f5c\uff1a\u628aAllure\u62a5\u544a\u548c\u56e2\u961f\u534f\u4f5c\u5de5\u5177\u6253\u901a\u3002\u6bd4\u5982\u7528<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">@allure.label<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u6807\u6ce8\u7528\u4f8bID\uff0c\u62a5\u544a\u91cc\u70b9\u51fbID\u8df3\u8f6c\u5230\u5185\u90e8\u7528\u4f8b\u7ba1\u7406\u5e73\u53f0\u3002\u5931\u8d25\u7528\u4f8b\u81ea\u52a8\u5728JIRA\u4e0a\u521b\u5efa\u7f3a\u9677\u5355\uff0c\u9644\u4e0a\u62a5\u544a\u94fe\u63a5\u548c\u622a\u56fe\u3002\u8fd9\u4e9b\u96c6\u6210\u90fd\u6709\u6210\u719f\u7684\u65b9\u6848\uff0cAllure\u7684\u6570\u636e\u7ed3\u6784\u662f\u5f00\u653e\u7684\uff0c\u7ed9\u4f60\u7559\u4e86\u5f88\u591a\u5b9a\u5236\u7a7a\u95f4\u3002<\/span><\/span><\/p>\n<p style=\"margin: 14px 0px;color: rgb(44, 44, 58);font-family: -apple-system, BlinkMacSystemFont, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Segoe UI&quot;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 2em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\"><img decoding=\"async\" class=\"rich_pages wxw-img\" data-ratio=\"1\" data-w=\"20\" style=\"display:inline-block;width:20px;vertical-align:middle;background-size:cover;\" src=\"https:\/\/res.wx.qq.com\/t\/wx_fed\/we-emoji\/res\/assets\/Expression\/Expression_1@2x.png\" \/>\uff1a\u53e6\u5916\u63d0\u9192\u4e00\u70b9\uff1aAllure\u7684\u6570\u636e\u5b58\u5728<\/span><\/span><code style=\"background: rgb(240, 244, 255);color: rgb(214, 62, 106);padding: 2px 6px;border-radius: 4px;font-family: Consolas, Monaco, monospace;font-size: 14px;\"><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">allure-results<\/span><\/span><\/code><span leaf=\"\"><span textstyle=\"\" style=\"font-size: 12px;\">\u76ee\u5f55\u91cc\u7684JSON\u6587\u4ef6\u91cc\u3002\u5982\u679c\u4f60\u7684\u56e2\u961f\u5df2\u7ecf\u5728\u7528\u5176\u4ed6\u6570\u636e\u770b\u677f\uff08\u6bd4\u5982\u98de\u4e66\u591a\u7ef4\u8868\u683c\u3001\u81ea\u5efaBI\u7cfb\u7edf\uff09\uff0c\u53ef\u4ee5\u628aJSON\u6570\u636e\u89e3\u6790\u540e\u63a8\u9001\u5230\u90a3\u8fb9\uff0c\u505a\u81ea\u5b9a\u4e49\u8d8b\u52bf\u56fe\u548c\u7edf\u8ba1\u3002\u6570\u636e\u662f\u5f00\u653e\u7684\uff0c\u62a5\u8868\u683c\u5f0f\u7531\u4f60\u8bf4\u4e86\u7b97\u3002<\/span><\/span><\/p>\n<section class=\"mp_vote_iframe_wrp\" nodeleaf=\"\"><mp-common-vote class=\"js_editor_vote_card js_uneditable custom_select_card mp_vote_iframe\" data-pluginname=\"mpvote\" data-supervoteid=\"620209285\" data-expiretime=\"0\" data-votesubject=\"[{&quot;type&quot;:2,&quot;title&quot;:&quot;\u4f60\u73b0\u5728\u7528\u4ec0\u4e48\u6d4b\u8bd5\u62a5\u544a\u5de5\u5177&quot;,&quot;options&quot;:[{&quot;name&quot;:&quot;\u8fd8\u5728\u7528Excel\u6216\u8005office\u5de5\u5177\u8f93\u51fa&quot;,&quot;url&quot;:&quot;&quot;,&quot;cnt&quot;:0},{&quot;name&quot;:&quot;pytest-html\u6216\u7c7b\u4f3c\u7684\u62a5\u544a\u5de5\u5177&quot;,&quot;url&quot;:&quot;&quot;,&quot;cnt&quot;:0},{&quot;name&quot;:&quot;\u5df2\u7ecf\u5728\u7528Allure&quot;,&quot;url&quot;:&quot;&quot;,&quot;cnt&quot;:0},{&quot;name&quot;:&quot;\u5176\u4ed6\u5de5\u5177\u6216\u5b9a\u5236\u5316\u6d4b\u8bd5\u5e73\u53f0\u751f\u6210\u7684\u62a5\u544a&quot;,&quot;url&quot;:&quot;&quot;,&quot;cnt&quot;:0}],&quot;total_cnt&quot;:0}]\" data-delflag=\"0\" data-fail=\"0\"><\/mp-common-vote><\/section>\n<p style=\"display: none;\"><mp-style-type data-value=\"3\"><\/mp-style-type><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0a\u5468\u4e94\u4e0b\u5348\uff0c\u6211\u82b1\u4e86\u4e24\u5c0f\u65f6\u6574\u7406\u51fa\u4e00\u4efd\u4e8c\u5341\u9875\u7684\u6d4b\u8bd5\u62a5\u544a\u4ea4\u7ed9\u9886\u5bfc\u3002\u62a5\u544a\u91cc\u662f\u7cbe\u5fc3\u6392\u7248\u7684Excel\u8868\u683c\uff0c\u5173\u952e\u6570\u636e\u7528\u4e0d\u540c\u989c [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":96,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-97","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-auto-tools"],"_links":{"self":[{"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/posts\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":1,"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":200,"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/posts\/97\/revisions\/200"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/media\/96"}],"wp:attachment":[{"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deartester.com\/index.php\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}