{"id":13850208,"url":"https://github.com/lorenzo/elm-webdriver","last_synced_at":"2025-10-04T18:31:55.411Z","repository":{"id":57222632,"uuid":"62467595","full_name":"lorenzo/elm-webdriver","owner":"lorenzo","description":"A library for controlling a browser using Elm and selenium","archived":true,"fork":false,"pushed_at":"2018-03-02T19:43:26.000Z","size":148,"stargazers_count":59,"open_issues_count":1,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-16T00:21:17.767Z","etag":null,"topics":["elm","elm-webdriver","selenium","standalone-server","test-automation"],"latest_commit_sha":null,"homepage":null,"language":"Elm","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/lorenzo.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}},"created_at":"2016-07-02T19:57:30.000Z","updated_at":"2023-11-14T21:35:58.000Z","dependencies_parsed_at":"2022-08-31T08:30:19.824Z","dependency_job_id":null,"html_url":"https://github.com/lorenzo/elm-webdriver","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lorenzo%2Felm-webdriver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lorenzo%2Felm-webdriver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lorenzo%2Felm-webdriver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lorenzo%2Felm-webdriver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lorenzo","download_url":"https://codeload.github.com/lorenzo/elm-webdriver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235289313,"owners_count":18965921,"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":["elm","elm-webdriver","selenium","standalone-server","test-automation"],"created_at":"2024-08-04T20:01:01.483Z","updated_at":"2025-10-04T18:31:50.023Z","avatar_url":"https://github.com/lorenzo.png","language":"Elm","readme":"# Elm Webdriver\n\nRemote control a browser with selenium, in Elm!\n\nThis can be used as a testing suite or you can utilize the exposed\nAPI for adapting it to your own use case.\n\n[![asciicast](https://asciinema.org/a/ubtn5N0GIhSu0HgcO6UPnA9DD.png)](https://asciinema.org/a/ubtn5N0GIhSu0HgcO6UPnA9DD)\n\n## Quick Start\n\nSince this package contains a `Native` module (some javascript), this cannot be published in\npackages.elm-lang.org. Instead, you need to install it using npm. Do this at the root of your\nElm project, where the `elm-package.json` file is:\n\n```sh\nnpm install elm-webdriver\n```\n\nYou are now ready to copy some skeleton tests into your project folder. The the files from\n[the templates folder](https://github.com/lorenzo/elm-webdriver/tree/master/templates) and\ncopy them to your `tests` folder in your project.\n\nEdit `Main.elm` so it looks similar to the [example file](https://github.com/lorenzo/elm-webdriver/blob/master/example/Main.elm)\n\nIf you need to use modules from your project, make sure you also add all the dependencies from the main\n`elm-package.json` into `webdriver-tests/elm-package.json`. Remember to keep those in sync.\n\n### Install selenium webdriver\n\nTo run tests locally you need the Selenium standalone server.  \nDownload the `.jar` file from [the official Selenium page](http://www.seleniumhq.org/download/)\nand run it like this:\n\n```sh\njava -jar selenium-server-standalone.jar\n```\n\n\nYou are now ready to run your tests. In another terminal, while the standalone server is still running:\n\n```sh\ncd webdriver-tests\n../node_modules/.bin/elm-webdriver\n```\nYou can also filter tests by name:\n\n```sh\n../node_modules/.bin/elm-webdriver --filter \"Some Test Name\"\n```\n\nIf the Selenium server complains:\n\n```\nWARN - Exception: The path to the driver executable must be set by the webdriver.gecko.driver system property; \nfor more information, see https://github.com/mozilla/geckodriver. \nThe latest version can be downloaded from https: //github.com/mozilla/geckodriver/releases                  \n```\n\nMake sure you have [the geckodriver](https://github.com/mozilla/geckodriver/releases) installed,\nand tell Selenium where it is by setting the system property:\n\n```sh\njava -Dwebdriver.gecko.driver=\"\u003cpath-to-geckodriver\u003e\" -jar selenium-server-standalone.jar\n```\n\n## API\n\nCheck the [API Docs](Api.md)\n","funding_links":[],"categories":["Elm"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Florenzo%2Felm-webdriver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Florenzo%2Felm-webdriver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Florenzo%2Felm-webdriver/lists"}