{"id":15373762,"url":"https://github.com/debugtalk/appiumbooster","last_synced_at":"2025-07-29T07:13:29.190Z","repository":{"id":43131287,"uuid":"63788917","full_name":"debugtalk/AppiumBooster","owner":"debugtalk","description":"A booster for appium, help you to write automation testcases in YAML format or in table other than in code.","archived":false,"fork":false,"pushed_at":"2017-03-17T16:44:36.000Z","size":3604,"stargazers_count":141,"open_issues_count":1,"forks_count":55,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-15T06:13:46.293Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/debugtalk.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":"2016-07-20T14:38:17.000Z","updated_at":"2025-01-16T10:26:50.000Z","dependencies_parsed_at":"2022-09-22T06:33:15.852Z","dependency_job_id":null,"html_url":"https://github.com/debugtalk/AppiumBooster","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/debugtalk/AppiumBooster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debugtalk%2FAppiumBooster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debugtalk%2FAppiumBooster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debugtalk%2FAppiumBooster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debugtalk%2FAppiumBooster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/debugtalk","download_url":"https://codeload.github.com/debugtalk/AppiumBooster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debugtalk%2FAppiumBooster/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267645071,"owners_count":24120875,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-01T13:56:20.207Z","updated_at":"2025-07-29T07:13:29.159Z","avatar_url":"https://github.com/debugtalk.png","language":"Ruby","readme":"## AppiumBooster\n\nAppiumBooster helps you to write automation testcases in yaml format or csv tables, without writing a snippet of code.\n\n## write testcases in yaml (recommended)\n\nTake DebugTalk+ Discover's login and logout function as an example.\n\n![](examples/preview_login_and_logout.png)\n\nIn order to test these functions above, you can write testcases in yaml format like this.\n\n```yaml\n# ios/testcases/login_and_logout.yml\n---\nLogin and Logout:\n  - SettingsFeatures | initialize first startup\n  - AccountFeatures | login with valid test account\n  - AccountFeatures | logout\n```\n\nIn the testcases, each step is combined with two parts, joined by a separator `|`. The former part indicates essential features defined in `ios/features/` directory, and the latter part indicates feature name, which is defined in feature yaml files like below.\n\n```yaml\n# ios/features/Settings.yml\n---\nSettingsFeatures:\n  initialize first startup:\n    - SettingsSteps | agree share location(optional)\n\n# ios/features/Account.yml\n---\nAccountFeatures:\n  login with valid test account:\n    - AccountSteps | enter My Account page\n    - AccountSteps | enter Login page\n    - AccountSteps | input test EmailAddress\n    - AccountSteps | input test Password\n    - AccountSteps | login\n    - AccountSteps | close coupon popup window(optional)\n\n  logout:\n    - AccountSteps | enter My Account page\n    - SettingsSteps | enter Settings page\n    - AccountSteps | logout\n```\n\nLikewise, each step of essential features is combined with two parts, joined by a separator `|`. The former part indicates step file located in `ios/steps/` directory, and the latter part indicates feature step name, which is defined in steps yaml files like below.\n\n```yaml\n# ios/steps/AccountSteps.yml\n---\nAccountSteps:\n  enter My Account page:\n    control_id: btnMenuMyAccount\n    control_action: click\n    expectation: tablecellMyAccountSystemSettings\n\n  enter Login page:\n    control_id: tablecellMyAccountLogin\n    control_action: click\n    expectation: btnForgetPassword\n\n  input test EmailAddress:\n    control_id: txtfieldEmailAddress\n    control_action: type\n    data: ${config.TestEnvAccount.UserName}\n    expectation: sectxtfieldPassword\n\n  input test Password:\n    control_id: sectxtfieldPassword\n    control_action: type\n    data: ${config.TestEnvAccount.Password}\n    expectation: btnLogin\n\n  login:\n    control_id: btnLogin\n    control_action: click\n    expectation: tablecellMyMessage\n```\n\n## write testcases in tables\n\nYou can also write testcases in any table tools, including MS Excel and iWork Numbers, and even in plain CSV format.\n\nIn order to test the same functions above, you can write testcases in tables like this.\n\n![](examples/testcase_login_and_logout.jpg)\n\nAfter the testcases are finished, export to CSV format, and put the csv files under `ios/testcases/` directory.\n\n## start\n\nOnce the testcases are done, you are ready to run automation test on your app.\n\nRun the automation testcases is very easy. You can execute `ruby start.rb -h` in the project root directory to see the usage.\n\n```\n$ ruby start.rb -h\nUsage: start.rb [options]\n    -p, --app_path \u003cvalue\u003e           Specify app path\n    -t, --app_type \u003cvalue\u003e           Specify app type, ios or android\n    -f, --testcase_file \u003cvalue\u003e      Specify testcase file(s)\n    -d, --output_folder \u003cvalue\u003e      Specify output folder\n    -c, --convert_type \u003cvalue\u003e       Specify testcase converter, yaml2csv or csv2yaml\n        --disable_output_color       Disable output color\n```\n\nAnd here are some examples.\n\n```bash\n$ cd ${AppiumBooster}\n# execute specified testcase with absolute testcase file path\n$ ruby run.rb -p \"ios/app/test.zip\" -f \"/Users/Leo/MyProjects/AppiumBooster/ios/testcases/login.yml\"\n\n# execute specified testcase with relative testcase file path\n$ ruby run.rb -p \"ios/app/test.zip\" -f \"ios/testcases/login.yml\"\n\n# execute all yaml format testcases\n$ ruby run.rb -p \"ios/app/test.zip\" -f \"ios/testcases/*.yml\"\n\n# execute all csv format testcases located in ios folder\n$ ruby run.rb -p \"ios/app/test.zip\" -t \"ios\" -f \"*.csv\"\n\n# convert yaml format testcase to csv format testcase\n$ ruby start.rb -c \"yaml2csv\" -f ios/testcases/login_and_logout.yml\n```\n\n## Read more ...\n\n[《打造心目中理想的自动化测试框架（AppiumBooster）》](http://debugtalk.com/post/build-ideal-app-automation-test-framework/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdebugtalk%2Fappiumbooster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdebugtalk%2Fappiumbooster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdebugtalk%2Fappiumbooster/lists"}