Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

selenium (46) Versions 2.2.0

Installs/Configures Selenium

Policyfile
Berkshelf
Knife
cookbook 'selenium', '= 2.2.0', :supermarket
cookbook 'selenium', '= 2.2.0'
knife supermarket install selenium
knife supermarket download selenium
README
Dependencies
Changelog
Quality 100%

Selenium Cookbook

Cookbook Version
Build Status
GitHub Issues

This cookbook installs and configures Selenium and WebDriver components (http://www.seleniumhq.org/).

This cookbook comes with the following Resource/Providers:

Roadmap

Add support for the following (any volunteers?):

Requirements

Chef 11 or greater

Platforms

  • CentOS, RedHat
  • Ubuntu
  • Windows

Cookbooks

These cookbooks are referenced with suggests, so be sure to depend on cookbooks that apply:

  • windows
  • nssm - Required for Windows hubs, and optional for Windows HtmlUnit and PhantomJS.

Usage

See selenium_test
cookbook for working cross platform examples. Note that the provided examples in this cookbook have passwords
unencrypted for simplicity.

selenium_hub

Installs and configures selenium-grid hubs.

Requirements

  • Java must be installed outside of this cookbook.

Example

Install selenium-grid hub
selenium_hub 'selenium_hub' do
  action :install
end

Attributes

See hub resource for a complete list
of attributes. See default attributes
for global cookbook settings.

  • name - Name attribute. The name of the service.
  • host - Hostname. Defaults to null.
  • port - Port. Defaults to 4444.
  • jvm_args - Jvm arguments (e.g., -Xmx256M). Defaults to nil.

selenium_node

Installs and configures selenium-grid nodes with support for
ChromeDriver,
FirefoxDriver,
HtmlUnitDriver, and
InternetExplorerDriver.

Requirements

  • Java must be installed outside of this cookbook.
  • Browsers (e.g., chrome, firefox, etc...) must be installed outside of this cookbook.
  • Linux nodes without a physical monitor require a headless display (e.g., xvfb, x11vnc, etc...) and must be installed and configured outside this cookbook.
  • Windows nodes (with the exception of HtmlUnitDriver) must run in the foreground and that requires a username and password for auto-logon. Note that the password is stored unencrypted under windows registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon.

Example

Install selenium-grid node with Chrome, Firefox and Internet Explorer capability
selenium_node 'selenium_node' do
  username 'Administrator' if platform?('windows')
  password 'password' if platform?('windows')
  capabilities [
    {
      browserName: 'chrome',
      maxInstances: 5,
      seleniumProtocol: 'WebDriver'
    },
    {
      browserName: 'firefox',
      maxInstances: 5,
      seleniumProtocol: 'WebDriver'
    },
    {
      browserName: 'htmlunit',
      maxInstances: 1,
      platform: 'ANY',
      seleniumProtocol: 'WebDriver'
    },
    {
      browserName: 'internet explorer',
      maxInstances: 1,
      seleniumProtocol: 'WebDriver'
    }
  ]
  action :install
end

Attributes

See node resource for a complete list
of attributes. See default attributes
for global cookbook settings.

  • name - Name attribute. The name of the service or auto-logon script (Windows nodes only).
  • host - Hostname. Defaults to null.
  • port - Port. Defaults to 4444.
  • hubHost - Selenium-grid hub hostname. Defaults to ip.
  • hubPort - Selenium-grid hub port. Defaults to 4444.
  • jvm_args - Jvm arguments (e.g., -Xmx256M). Defaults to nil.
  • capabilities - The following drivers are supported and installed based on capabilities:
  • Windows only - Set both username and password to run service in foreground or leave nil to run service in background:
    • username - Windows account username. Defaults to nil.
    • password - Windows account password. Defaults to nil. Note that the password is stored unencrypted under windows registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon.
    • domain - Windows account domain. Optional. Defaults to nil.

selenium_phantomjs

Installs and configures PhantomJS as a selenium-grid node or as a standalone server via
GhostDriver.

Requirements

  • PhantomJS must be installed outside of this cookbook.
  • Windows nodes have the option to run in the foreground and that requires a username and password for auto-logon. Note that the password is stored unencrypted under windows registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon.

Examples

Install PhantomJS as a selenium-grid node
selenium_phantomjs 'selenium_phantomjs' do
  action :install
end
Install PhantomJS as a standalone server by setting webdriverSeleniumGridHub to false
selenium_phantomjs 'selenium_phantomjs_nogrid' do
  webdriverSeleniumGridHub false
  action :install
end

Attributes

See phantomjs resource for a complete list
of attributes. See default attributes
for global cookbook settings.

  • name - Name attribute. The name of the service or auto-logon script (Windows nodes only).
  • webdriver - Webdriver ip:port. Defaults to "#{node['ipaddress']}:8910".
  • webdriverSeleniumGridHub - Webdriver selenium-grid hub url. Set to false to install PhantomJS as a standalone service. Defaults to "http://#{node['ipaddress']}:4444".
  • Windows only - Set both username and password to run service in foreground or leave nil to run service in background:
    • username - Windows account username. Defaults to nil.
    • password - Windows account password. Defaults to nil. Note that the password is stored unencrypted under windows registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon.
    • domain - Windows account domain. Optional. Defaults to nil.

ChefSpec Matchers

The Selenium cookbook includes custom ChefSpec matchers you can use to test
your own cookbooks.

Example Matcher Usage

expect(chef_run).to install_selenium_hub('resource_name').with(
  port: '4444'
)

Selenium Cookbook Matchers

  • install_selenium_hub(resource_name)
  • install_selenium_node(resource_name)
  • install_selenium_phantomjs(resource_name)

Getting Help

Contributing

Please refer to CONTRIBUTING.

License

MIT - see the accompanying LICENSE file for details.

Changelog

2.2.0 - 2/5/2015

  • Make Windows service an option for HtmlUnit and PhantomJS

2.1.0 - 2/2/2015

  • Support HtmlUnit

2.0.0 - 2/2/2015

  • Replace PhantomJS attributes

1.0.0 - 2/1/2015

  • Initial release

Foodcritic Metric
            

2.2.0 passed this metric