{"id":19827886,"url":"https://github.com/seldomqa/xtestrunner","last_synced_at":"2025-05-15T12:06:23.662Z","repository":{"id":37759818,"uuid":"58132904","full_name":"SeldomQA/XTestRunner","owner":"SeldomQA","description":"Modern style test report based on unittest framework.","archived":false,"fork":false,"pushed_at":"2025-01-17T16:52:58.000Z","size":14362,"stargazers_count":177,"open_issues_count":5,"forks_count":130,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-15T12:06:17.597Z","etag":null,"topics":["html","python","unittest"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SeldomQA.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-05T13:31:32.000Z","updated_at":"2025-04-14T02:23:35.000Z","dependencies_parsed_at":"2024-06-21T14:12:53.593Z","dependency_job_id":"7c1fc77d-2d2a-440e-96cb-13335b040be5","html_url":"https://github.com/SeldomQA/XTestRunner","commit_stats":{"total_commits":238,"total_committers":10,"mean_commits":23.8,"dds":0.2647058823529411,"last_synced_commit":"64293b5c1b1f24a24b799e7554f25964eb07dbac"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeldomQA%2FXTestRunner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeldomQA%2FXTestRunner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeldomQA%2FXTestRunner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeldomQA%2FXTestRunner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SeldomQA","download_url":"https://codeload.github.com/SeldomQA/XTestRunner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337613,"owners_count":22054253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["html","python","unittest"],"created_at":"2024-11-12T11:14:23.270Z","updated_at":"2025-05-15T12:06:18.648Z","avatar_url":"https://github.com/SeldomQA.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](./XTestRunner_logo.jpg)\n\n\u003e Modern style test report based on unittest framework.\n\n基于unittest框架现代风格测试报告。\n\n### 特点\n\n* 简洁、美观具有现代风格的测试报告。\n* 支持`HTML`、`XML`两种格式。\n* 支持`单元`、`Web UI`、`API`各种类型的测试。\n* 集成`邮件/钉钉/企微/飞书` 发送消息。\n* 支持用例`错误/失败`重跑。\n* 支持标签黑、白名单。\n* 针对`Selenium`运行失败/错误自动截图。\n* 支持多语言：`en`、`zh-CN`（注：仅HTML格式）。\n\n## Report\n\n![](./img/test_report_1.8.0.png)\n\n## Install\n\n```shell\n\u003e pip install XTestRunner\n```\n\nIf you want to keep up with the latest version, you can install with github repository url:\n\n```shell\n\u003e pip install -U git+https://github.com/SeldomQA/XTestRunner.git@master\n```\n\n## demo\n\n查看更多使用 [例子](./tests)。\n\n* unittest测试\n\n```python\nimport unittest\nfrom XTestRunner import HTMLTestRunner\n\n\nclass TestDemo(unittest.TestCase):\n    \"\"\"测试用例说明\"\"\"\n\n    def test_success(self):\n        \"\"\"执行成功\"\"\"\n        self.assertEqual(2 + 3, 5)\n\n    @unittest.skip(\"skip case\")\n    def test_skip(self):\n        \"\"\"跳过用例\"\"\"\n        pass\n\n    def test_fail(self):\n        \"\"\"失败用例\"\"\"\n        self.assertEqual(5, 6)\n\n    def test_error(self):\n        \"\"\"错误用例\"\"\"\n        self.assertEqual(a, 6)\n\n\nif __name__ == '__main__':\n    suit = unittest.TestSuite()\n    suit.addTests([\n        TestDemo(\"test_success\"),\n        TestDemo(\"test_skip\"),\n        TestDemo(\"test_fail\"),\n        TestDemo(\"test_error\")\n    ])\n\n    with(open('./result.html', 'wb')) as fp:\n        runner = HTMLTestRunner(\n            stream=fp,\n            title='\u003cproject name\u003etest report',\n            description='describe: ... ',\n            language='en',\n            rerun=3\n        )\n        runner.run(suit)\n```\n\n## Document\n\n更多例子，请阅读 [中文文档](./docs/README.md)\n\n## 其他\n\n### 感谢\n\n感谢从以下项目中得到思路和帮助。\n\n* [HTMLTestRunner](http://tungwaiyip.info/software/HTMLTestRunner.html)\n\n* [HTMLTestRunner_cn](https://github.com/GoverSky/HTMLTestRunner_cn)\n\n* [Theme style](https://clever-dashboard.webpixels.work/pages/tasks/list-view.html)\n\n### 静态文件服务\n\n1.添加静态文件到github项目。\n\nhttps://github.com/defnngj/Telegraph-Image\n\n2.cloudflare提供免费的访问域名。\n\nhttps://dash.cloudflare.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseldomqa%2Fxtestrunner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseldomqa%2Fxtestrunner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseldomqa%2Fxtestrunner/lists"}