{"id":19244925,"url":"https://github.com/andreasneuber/ruby-cucumber-selenium-example","last_synced_at":"2025-07-01T03:41:35.569Z","repository":{"id":183059834,"uuid":"556007796","full_name":"andreasneuber/ruby-cucumber-selenium-example","owner":"andreasneuber","description":"Sample code how to implement UI testing with Cucumber/Selenium in Ruby.","archived":false,"fork":false,"pushed_at":"2024-11-03T21:13:26.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-05T04:20:18.874Z","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/andreasneuber.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-22T21:17:16.000Z","updated_at":"2024-11-03T21:13:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"d763d91f-c965-4eb0-a889-225747b55cc4","html_url":"https://github.com/andreasneuber/ruby-cucumber-selenium-example","commit_stats":null,"previous_names":["andreasneuber/ruby-cucumber-selenium-framework","andreasneuber/ruby-cucumber-selenium-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasneuber%2Fruby-cucumber-selenium-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasneuber%2Fruby-cucumber-selenium-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasneuber%2Fruby-cucumber-selenium-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasneuber%2Fruby-cucumber-selenium-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreasneuber","download_url":"https://codeload.github.com/andreasneuber/ruby-cucumber-selenium-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240331361,"owners_count":19784646,"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-11-09T17:25:49.612Z","updated_at":"2025-02-23T15:15:16.742Z","avatar_url":"https://github.com/andreasneuber.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  ruby-cucumber-selenium-example\nExample of using Ruby with Cucumber and Selenium WebDriver for automated UI tests.\n\n## Application under test\nThe feature files, step definitions and page objects were written for https://github.com/andreasneuber/automatic-test-sample-site.\nReadme in that repo has further details how to set it up.\n\n## Project setup\n\n1. On Windows install Ruby as outlined here: https://rubyinstaller.org/\n\n2. Install also bundler: https://www.geeksforgeeks.org/how-to-install-ruby-bundler-on-windows/\n\n3. Make sure ChromeDriver is installed on your system (see also FAQ below)\n\n4. Clone project\n\n```\ngit clone https://github.com/andreasneuber/ruby-cucumber-selenium-framework.git\n```\n\n5. Install required dependencies\n\n```shell\nbundle install\n```\n\n## Run tests locally\n\n```shell\n# all at once..\ncucumber\n\n# or\n\ncucumber features/AdminPrivileges.feature\n\n# or \n\ncucumber features/ConvertCelsius.feature\n\n# or\n\ncucumber features/Creditcard.feature\n\n# or\n\ncucumber features/Login.feature\n\n# or\n\ncucumber features/ProvideYourDetails.feature\n\n# or\n\ncucumber features/ConcurrentWindows.feature\n```\n\n## Run all tests locally, create HTML report\nBash: \n`export now=$(date +\"%Y-%m-%d_%H-%M-%S\") \u0026\u0026 cucumber -f pretty -f html -o reports/$now.report.html`\n\nPowerShell:\n`$now = \"reports/\" + ((Get-Date).ToString('yyyy-MM-dd_hh-mm-ss') | Out-String).Trim() + \".report.html\"; cucumber -f pretty -f html -o $now`\n\n\nReport will appear in directory `reports` where it can be opened in a browser.\n\n## Update Gem files\n```shell\nbundle update\n```\n\n## FAQ\n### How to install/update Chromedriver on Windows?\nThere is different ways, one possibility:\n1. Go to https://googlechromelabs.github.io/chrome-for-testing/ \u003e Channel 'Stable'\n2. Download the win32 or win64 version\n3. Save `chromedriver.exe` somewhere in your file system\n4. Edit environment variables \u003e System Variables \u003e Path and path to your Chromedriver location\n5. If necessary restart machine\n6. To check if all is good with cmd `chromedriver -version` which should give you the correct version number\n7. Put file `update_chromedriver.sh` into the folder where `chromedriver.exe` is located\n8. To update Chromedriver: `bash update_chromedriver.sh`\n9. This should download the latest Chromedriver\n\n### How to switch to headless mode?\nPlease have a look at `features\\support\\env.rb`, lines 5 ff.\n\n### Is there a Docker container which has the latest Chrome browser and Chrome driver?\nPlease have a look here: https://hub.docker.com/u/selenium \u003e `selenium/standalone-chrome`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasneuber%2Fruby-cucumber-selenium-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreasneuber%2Fruby-cucumber-selenium-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasneuber%2Fruby-cucumber-selenium-example/lists"}