diff --git a/pkgs/development/tools/selenium/htmlunit-driver/default.nix b/pkgs/development/tools/selenium/htmlunit-driver/default.nix new file mode 100644 index 000000000000..2fc38db1bb0c --- /dev/null +++ b/pkgs/development/tools/selenium/htmlunit-driver/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "htmlunit-driver-standalone-${version}"; + version = "2.21"; + + src = fetchurl { + url = "https://github.com/SeleniumHQ/htmlunit-driver/releases/download/${version}/htmlunit-driver-standalone-${version}.jar"; + sha256 = "1wrbam0hb036717z3y73lsw4pwp5sdiw2i1818kg9pvc7i3fb3yn"; + }; + + unpackPhase = "true"; + + installPhase = "install -D $src $out/share/lib/${name}/${name}.jar"; + + meta = { + homepage = https://github.com/SeleniumHQ/htmlunit-driver; + description = "A WebDriver server for running Selenium tests on the HtmlUnit headless browser"; + maintainers = with maintainers; [ coconnor offline ]; + platforms = platforms.all; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix index fe8bf2b13b59..ca225adab6d2 100644 --- a/pkgs/development/tools/selenium/server/default.nix +++ b/pkgs/development/tools/selenium/server/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, jre, jdk, gcc, xorg -, chromedriver, chromeSupport ? true }: +, htmlunit-driver, chromedriver, chromeSupport ? true }: with stdenv.lib; @@ -25,8 +25,9 @@ in stdenv.mkDerivation rec { mkdir -p $out/share/lib/${name} cp $src $out/share/lib/${name}/${name}.jar makeWrapper ${jre}/bin/java $out/bin/selenium-server \ - --add-flags "-jar $out/share/lib/${name}/${name}.jar" \ - --add-flags ${optionalString chromeSupport "-Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"} + --add-flags "-cp ${htmlunit-driver}/share/lib/${htmlunit-driver.name}/${htmlunit-driver.name}.jar:$out/share/lib/${name}/${name}.jar" \ + --add-flags ${optionalString chromeSupport "-Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"} \ + --add-flags "org.openqa.grid.selenium.GridLauncher" ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f0085c2bca5..ab9d1d692b0c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6356,6 +6356,8 @@ in heroku = callPackage ../development/tools/heroku { }; + htmlunit-driver = callPackage ../development/tools/selenium/htmlunit-driver { }; + hyenae = callPackage ../tools/networking/hyenae { }; icestorm = callPackage ../development/tools/icestorm { };