{"id":16143194,"url":"https://github.com/johnbedeir/k6-ui-runner","last_synced_at":"2025-08-21T12:38:05.334Z","repository":{"id":183328620,"uuid":"669961045","full_name":"johnbedeir/k6-ui-runner","owner":"johnbedeir","description":"This is a GUI application built with Python and Tkinter for running load tests using k6.","archived":false,"fork":false,"pushed_at":"2023-07-24T01:35:47.000Z","size":10908,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T01:29:31.132Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnbedeir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-24T01:31:29.000Z","updated_at":"2025-01-08T14:33:07.000Z","dependencies_parsed_at":"2023-07-24T02:55:34.012Z","dependency_job_id":null,"html_url":"https://github.com/johnbedeir/k6-ui-runner","commit_stats":null,"previous_names":["johnbedeir/k6-ui-runner"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbedeir%2Fk6-ui-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbedeir%2Fk6-ui-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbedeir%2Fk6-ui-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbedeir%2Fk6-ui-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnbedeir","download_url":"https://codeload.github.com/johnbedeir/k6-ui-runner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247536951,"owners_count":20954853,"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":[],"created_at":"2024-10-10T00:08:50.647Z","updated_at":"2025-04-06T19:24:58.900Z","avatar_url":"https://github.com/johnbedeir.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=imgs/logo.png width=200\u003e\n\n# K6 UI Runner\n\n\u003c/div\u003e\nThis is a GUI application built with Python and Tkinter for running load tests using k6. It allows the user to input the URL of the application to be tested, set multiple durations, and the number of targets for each duration. The stages are flexible and dynamically generated based on user input. The output of the load test is displayed in real-time within the application.\n\n## Requirements\n\nThe following are required to run the application:\n\n1. Python 3.7 or above: You can download it from [Python's official site](https://www.python.org/).\n2. pip: It comes pre-installed with Python 3.4 and above. If for some reason, it's not installed, you can refer to [pip's official installation guide](https://pip.pypa.io/en/stable/installing/).\n3. Tkinter: It is included in the Python standard library.\n4. k6: This is used for load testing. You can download it from [k6's official site](https://k6.io/).\n\n## Running the Application\n\n1. Clone this repository to your local machine.\n2. Open a terminal/command prompt.\n3. Navigate to the directory where the repository is cloned.\n4. Run the following command to start the application.\n\n```\n./k6-ui-runner\n```\n\n5. The application window should open, and you can now use the application.\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=imgs/app.png width=600\u003e\n\u003c/div\u003e\n\n6. Add the URL of your application that you would like to apply the load test on in the URL field.\n\n7. Write the number of durations you would like to apply then `Generate Fields` then add how long each duration should be and how many targets to apply in each duration as shown in the image.\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=imgs/generate.png width=600\u003e\n\u003c/div\u003e\n\nHere we are having `3` times to run load-test the first duration is `4 Seconds` will apply `50 targets` then `10 Seconds` with `20 targets` and finally for `30 Seconds` with `100 target`.\n\n8. When you click `RUN` you should be able to see the results in the output area as shown below.\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=imgs/run.png width=600\u003e\n\u003c/div\u003e\n\n### `NOTE:` That will generate `test.js` file in the current directory with the your inputs.\n\n```\nimport http from 'k6/http';\nimport { check, sleep } from 'k6';\n\nexport const options = {\n    stages: [\n    { duration: '4s', target: 50 },{ duration: '10s', target: 20 },{ duration: '30s', target: 100 }\n    ],\n};\n\nexport default function () {\n    const res = http.get('http://test.k6.io');\n    check(res, { 'status was 200': (r) =\u003e r.status == 200 });\n    sleep(1);\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnbedeir%2Fk6-ui-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnbedeir%2Fk6-ui-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnbedeir%2Fk6-ui-runner/lists"}