diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index ea7eae678..bc74994a7 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -3,6 +3,8 @@ package edu.internet2.tier.shibboleth.admin.ui import jp.vmi.selenium.selenese.Main import jp.vmi.selenium.selenese.Runner import jp.vmi.selenium.selenese.config.DefaultConfig +import org.openqa.selenium.remote.DesiredCapabilities +import org.openqa.selenium.remote.RemoteWebDriver import org.springframework.beans.factory.annotation.Value import org.springframework.boot.test.context.SpringBootTest import org.springframework.test.annotation.DirtiesContext @@ -28,6 +30,10 @@ class SeleniumSIDETest extends Specification { def config = new DefaultConfig([] as String[]).with { if (System.properties.getProperty('webdriver.driver')) { it.driver = System.properties.getProperty('webdriver.driver') + } else { + it.driver = 'remote' + it.remoteUrl = 'http://localhost:4444/wd/hub' + it.remoteBrowser = 'firefox' } it.baseurl = "http://localhost:${this.randomPort}" it diff --git a/misc/jenkins/Dockerfile b/misc/jenkins/Dockerfile new file mode 100644 index 000000000..2aec7512f --- /dev/null +++ b/misc/jenkins/Dockerfile @@ -0,0 +1,8 @@ +FROM jenkins/jenkins:lts + +USER root +RUN apt update && apt install -y openjfx + +RUN apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" && apt update && apt install -y docker-ce + +USER jenkins \ No newline at end of file diff --git a/misc/jenkins/run-jenkins.sh b/misc/jenkins/run-jenkins.sh new file mode 100644 index 000000000..98b5a218e --- /dev/null +++ b/misc/jenkins/run-jenkins.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +docker run -u root -d --restart always -p 9009:9009 -p 50000:50000 --env JAVA_OPTS=-Xmx2048m -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --name "jenkins" shibui/jenkins --httpPort=9009 --prefix=/jenkins \ No newline at end of file diff --git a/misc/selenium/docker-compose.yml b/misc/selenium/docker-compose.yml new file mode 100644 index 000000000..ceac08ecb --- /dev/null +++ b/misc/selenium/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.7" + +services: + selenium-hub: + image: selenium/hub:3.141.59-krypton + container_name: selenium-hub + ports: + - "4444:4444" + chrome: + image: selenium/node-chrome:3.141.59-krypton + volumes: + - /dev/shm:/dev/shm + depends_on: + - selenium-hub + environment: + - HUB_HOST=selenium-hub + - HUB_PORT=4444 + firefox: + image: selenium/node-firefox:3.141.59-krypton + volumes: + - /dev/shm:/dev/shm + depends_on: + - selenium-hub + environment: + - HUB_HOST=selenium-hub + - HUB_PORT=4444