Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phaka/phaka-selenium-installer
The base project that builds a installer package for Selenium
https://github.com/phaka/phaka-selenium-installer
installer selenium selenium-grid selenium-webdriver
Last synced: 27 days ago
JSON representation
The base project that builds a installer package for Selenium
- Host: GitHub
- URL: https://github.com/phaka/phaka-selenium-installer
- Owner: Phaka
- License: mit
- Created: 2017-12-29T23:23:41.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-06T00:37:56.000Z (about 7 years ago)
- Last Synced: 2024-11-16T09:18:34.997Z (3 months ago)
- Topics: installer, selenium, selenium-grid, selenium-webdriver
- Language: C#
- Size: 73.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Phaka Selenium Installer
This repository contains the source to create Windows Installer packages for a Selenium Grid.
## Description
Setting up a Selenium Grid on Windows can be time consuming, error prone and complex. For a Selenium hub, you'll often need to do something like this:
- Install a supported version of Java
- Download Selenium
- Download a Windows Service Wrapper
- Configure the Windows Service Wrapper
- Create a dedicated local user account
- Give the dedicated local user account permissions to the file system
- Create the Windows Service
- Run some commands to ensure the port used by the Selenium Hub isn't going to be assigned by Windows to something else.
- Configure the Windows Firewall to allow Selenium nodes and clients to connect to the hub
- Start the Windows ServiceThen for each Windows host that act as an node, you'll need to do the same thing, except since the nodes typically run different operating systems (Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Server 2012 R2, Windows Server 2016):
- Install the Browsers (Chrome, Opera, Firefox, Internet Explorer 11)
- Install a supported version of Java
- Download Selenium
- Download a Windows Service Wrapper
- Configure the Windows Service Wrapper
- Create a dedicated local user account
- Give the dedicated local user account permissions to the file system
- Create the Windows Service
- Run some commands to ensure the port used by the Selenium Grid isn't going to be assigned by Windows to something else.
- Configure the Windows Firewall to allow the Selenium Hub to connect to the Selenium nodes.
- Start the Windows ServiceThe goal of these installers is to do most of this where licensing permits binaries to be redistrubuted.
## Building
In order to build the codebase you'll need the following
- nuget
- Visual Studio Community editio n or higherBefore you can build the packages, you'll need to restore packages. Typically this is only done once, but you may need to do it whenever the packages folder was deleted.
```
nuget restore SeInstaller.sln
```In order to build the release package, you can use `msbuild`.
```
msbuild /t:Build /p:Configuration=Release /p:Platform=x86 SeInstaller.sln
```## Testing
When making changes to the installers, the following tests needs to pass:
### Selenium Hub
- [ ] The display name showed in the Control Panel is "Phaka Selenium Hub"
- [ ] The display name of the Windows Service is "Phaka Selenium Hub"
- [ ] A user "Phaka Selenium Hub" was created.
- [ ] The files were deployed to `%ProgramFiles(x86)%\Selenium\Hub`
- [ ] The configuration file, `%ProgramFiles(x86)%\Selenium\Hub\selenium-hub.cfg` has the correct values.
- [ ] Uninstalling the package cleanly removes all files
- [ ] The package is upgradable from previous versions### Selenium Node
- [ ] The display name showed in the Control Panel is "Phaka Selenium Node"
- [ ] The display name of the Windows Service is "Phaka Selenium Node"
- [ ] The files were deployed to `%ProgramFiles(x86)%\Selenium\Node`
- [ ] The configuration file, `%ProgramFiles(x86)%\Selenium\Node\selenium-node.cfg` has the correct values.
- [ ] Uninstalling the package cleanly removes all files
- [ ] The package is upgradable from previous versions