{"id":17548791,"url":"https://github.com/lslezak/d-installer-test-selenium","last_synced_at":"2025-03-29T06:30:24.184Z","repository":{"id":73224547,"uuid":"570065197","full_name":"lslezak/d-installer-test-selenium","owner":"lslezak","description":"Experimental integration tests for the D-Installer (using Selenium and Webdriver)","archived":false,"fork":false,"pushed_at":"2022-12-12T17:46:22.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-03T19:13:53.364Z","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":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lslezak.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-11-24T09:01:20.000Z","updated_at":"2022-11-30T09:48:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce177678-453d-49a9-b59f-afb4ab6668f0","html_url":"https://github.com/lslezak/d-installer-test-selenium","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/lslezak%2Fd-installer-test-selenium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lslezak%2Fd-installer-test-selenium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lslezak%2Fd-installer-test-selenium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lslezak%2Fd-installer-test-selenium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lslezak","download_url":"https://codeload.github.com/lslezak/d-installer-test-selenium/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246149971,"owners_count":20731405,"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-21T02:44:01.280Z","updated_at":"2025-03-29T06:30:24.164Z","avatar_url":"https://github.com/lslezak.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# D-installer Integration Tests\n\nThis is just a proof of concept for the [D-Installer](\nhttps://github.com/yast/d-installer) integration tests.\n\n## Pre-requisities\n\n### Webdriver\n\nYou need to install a [webdriver](https://www.w3.org/TR/webdriver/) which\ncan control and inspect a running web browser.\n\nThere are several ways:\n\n1. **Installing a native package** - the webdriver might be available as a package,\n   in openSUSE just run `zypper install chromedriver`. This will install the\n   webdriver for the Chromium browser. *(This should be the preferred way.)*\n2. **Manual download and installation** - download the webdriver for your browser\n   manually\n   - [Chromium Webdriver](https://chromedriver.chromium.org/downloads)\n   - [Chrome Webdriver](https://chromedriver.storage.googleapis.com/index.html)\n   - [FireFox Webdriver](https://github.com/mozilla/geckodriver/releases)\n3. **Automatic download and installation** - there are several libraries or scripts\n   which can automate the installation. For example you can use the [webdrivers](\n   https://github.com/titusfortner/webdrivers) Ruby gem\n   - Add `gem \"webdrivers\", \"~\u003e 4.6\", require: false` to the `Gemfile`\n   - Run `bundle update`\n   - Add `require \"webdrivers/chromedriver\"` or `require \"webdrivers/geckodriver\"`\n     depending which browser you want to use\n   - Run the tests (see below), it will download and install the webdriver at\n     the first run. In this case the files are installed into the `~/.webdrivers/`\n     directory.\n\n### Libraries\n\nThis proof of concept uses [selenium-webdriver](\nhttps://github.com/SeleniumHQ/selenium/tree/trunk/rb) Ruby gem.\n\nThe libraries can be installed by running `bundle install --path .vendor/bundle`\ncommand in the Git checkout.\n\n### D-Installer\n\nDownload the D-Installer image from the [OBS Repository](\nhttps://download.opensuse.org/repositories/YaST:/Head:/D-Installer/images/iso/).\nFor purposes of this test prefer the ALP image as it can install only one product\n(ALP) and does not display the product selection dialog the start.\n\nThen boot the installer image in a virtual machine.\n\n## Running the tests\n\nWhen the D-Installer is running you can run the tests using this command:\n\n```shell\nbundle exec rake BASE_URL=https://192.168.1.10:9090\n```\n\nYou can set some delay between the steps if you want to watch the steps with\n`INSTALLER_DELAY=\u003cseconds\u003e` option.\n\n## Found Problems\n\n1. The D-installer by default uses a self-signed certificate. You need to\n   explicitly accept it in the browser. (Or maybe the certificate check can be\n   disabled somehow?)\n2. The D-Installer is basically a single page application, that means you can\n   do not need to start the browser for each separate test. That can speed up\n   testing.\n3. Because the D-Installer uses ReactJS and all changes in the page are done\n   asynchronously using JavaScript you need to wait for the expected objects\n   to appear or change in the page.\n\n## Links\n\n- [Selenium documentation](https://www.selenium.dev/documentation/webdriver/)\n- [Selenium Ruby documentation](https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flslezak%2Fd-installer-test-selenium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flslezak%2Fd-installer-test-selenium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flslezak%2Fd-installer-test-selenium/lists"}