{"id":21063108,"url":"https://github.com/amazingtest/testcase-automaker","last_synced_at":"2026-03-05T01:03:07.219Z","repository":{"id":57474413,"uuid":"214778241","full_name":"amazingTest/testcase-automaker","owner":"amazingTest","description":"测试用例自动生成器","archived":false,"fork":false,"pushed_at":"2019-10-13T14:28:11.000Z","size":34,"stargazers_count":28,"open_issues_count":1,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-19T19:24:25.730Z","etag":null,"topics":["autotest","autotest-helper","autotesting","combo","http","test-automation","test-framework","testcase-automaker","testing-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amazingTest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-13T07:24:06.000Z","updated_at":"2025-02-25T19:12:13.000Z","dependencies_parsed_at":"2022-09-10T02:20:09.053Z","dependency_job_id":null,"html_url":"https://github.com/amazingTest/testcase-automaker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingTest%2Ftestcase-automaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingTest%2Ftestcase-automaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingTest%2Ftestcase-automaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingTest%2Ftestcase-automaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amazingTest","download_url":"https://codeload.github.com/amazingTest/testcase-automaker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254455789,"owners_count":22074055,"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":["autotest","autotest-helper","autotesting","combo","http","test-automation","test-framework","testcase-automaker","testing-tools"],"created_at":"2024-11-19T17:44:00.901Z","updated_at":"2026-03-05T01:03:02.128Z","avatar_url":"https://github.com/amazingTest.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# testcase-automaker\n\n+ [testcase-automaker 中文文档](https://github.com/amazingTest/testcase-automaker/blob/master/README_CN.md)\n\ntestcase-automaker can be used to create interface testcase with different params combo base on pairwise strategy.\n\n## Installation\n    \n    pip install allpairspy\n    pip install testcase-automaker\n    \n## Best practice\n\n    from testcase_automaker.interface.http_params_generator import http_params_generator\n\n    params_structure = {\n                'name': {\n                    'type': 'string',\n                    'value': '',\n                    'range': ['张三', '李四'],\n                    'iscompulsory': True\n                },\n                'phone': {\n                    'type': 'number',\n                    'value': '',\n                    'iscompulsory': True\n                },\n                'claimant': {\n                    'type': 'object',\n                    'value': {\n                        'name': {\n                            'type': 'string',\n                            'value': '',\n                            'iscompulsory': True\n                        },\n                        'phone': {\n                            'type': 'number',\n                            'value': '',\n                            'iscompulsory': True\n                        }\n                    },\n                    'iscompulsory': True\n                },\n                'informations': {\n                    'type': 'array',\n                    'value': [{\n                            'claimant': {\n                                'type': 'object',\n                                'value': {\n                                    'name': {\n                                        'type': 'string',\n                                        'value': '',\n                                        'iscompulsory': True\n                                    },\n                                    'phone': {\n                                        'type': 'number',\n                                        'value': '',\n                                        'iscompulsory': True\n                                    }\n                                },\n                                'iscompulsory': True\n                            }\n                        },\n                        {\n                            'name': {\n                                'type': 'string',\n                                'value': '',\n                                'iscompulsory': True\n                            }\n                        }\n                    ],\n                    'iscompulsory': True\n                }\n            }\n    \n    if __name__ == '__main__':\n        params_generator = http_params_generator(parameters_structure=params_structure)\n        params_list = params_generator.generate_params_list()\n        print(params_generator.generated_params_list)\n\nrun the script then u may get output like this:\n\n    [{'name': '李四', 'phone': 15746159038, 'claimant': {'name': '华蔹绍', 'phone': 15698064521}, 'informations': [{'claimant': {'name': '齐檠', 'phone': 18912976530}}, {'name': '翟伽硝'}]}, {'name': '张三', 'phone': None, 'claimant': {'name': None, 'phone': None}, 'informations': [{'claimant': {'name': None, 'phone': None}}, {'name': '莫僖烹'}]}, {'name': '李四', 'phone': 18557203961, 'claimant': {'name': None, 'phone': 13736054179}, 'informations': [{'claimant': {'name': None, 'phone': 18810456792}}, {'name': None}]}, {'name': '李四', 'phone': None, 'claimant': {'name': '浦农', 'phone': None}, 'informations': [{'claimant': {'name': '阴桎煅', 'phone': None}}, {'name': None}]}, {'name': '张三', 'phone': None, 'claimant': {'name': None, 'phone': 18238590241}, 'informations': [{'claimant': {'name': '弓肓', 'phone': None}}, {'name': None}]}, {'name': '张三', 'phone': 18265714928, 'claimant': {'name': '昝胀噎', 'phone': None}, 'informations': [{'claimant': {'name': '应兰仓', 'phone': None}}, {'name': None}]}, {'name': '李四', 'phone': None, 'claimant': {'name': '毋羹', 'phone': None}, 'informations': [{'claimant': {'name': None, 'phone': 15701289735}}, {'name': None}]}]\n\n    Process finished with exit code 0\n\nwhich is a list that contains the params combo base on pairwise and the given params structure\n\n## Contact me\n\nFor information and suggestions you can contact me at 523314409@qq.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazingtest%2Ftestcase-automaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famazingtest%2Ftestcase-automaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazingtest%2Ftestcase-automaker/lists"}