Repository: juddi Updated Branches: refs/heads/feature/JUDDI-651-2 [created] 6ee02ccb6
JUDDI-651 selenium tests for login/logout Project: http://git-wip-us.apache.org/repos/asf/juddi/repo Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/6ee02ccb Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/6ee02ccb Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/6ee02ccb Branch: refs/heads/feature/JUDDI-651-2 Commit: 6ee02ccb65d6fa8850dca52f0ea86ebd06f9b2a9 Parents: 3e35495 Author: Alex O'Ree <[email protected]> Authored: Sun Oct 8 21:00:22 2017 -0400 Committer: Alex O'Ree <[email protected]> Committed: Sun Oct 8 21:00:22 2017 -0400 ---------------------------------------------------------------------- .gitignore | 1 + juddi-gui/src/main/resources/META-INF/uddi.xml | 14 +- juddi-gui/src/main/webapp/index.jsp | 2 +- juddi-gui/src/main/webapp/login.jsp | 2 +- uddi-tck-base/src/main/resources/tck.properties | 2 +- uddi-tck/RepositoryMap.xml | 212 +++++++++++++++++++ uddi-tck/pom.xml | 46 ++++ .../org/apache/juddi/gui/test/BaseTest.java | 172 +++++++++++++++ .../gui/test/login/LoginIntegrationTest.java | 61 ++++++ 9 files changed, 508 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/.gitignore ---------------------------------------------------------------------- diff --git a/.gitignore b/.gitignore index 944a733..5a93cda 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ docs/db/ddl/*.ddl *.ddl uddi-tck/pref-rpt-*.txt nb-configuration.xml +uddi-tck/drivers/ http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/juddi-gui/src/main/resources/META-INF/uddi.xml ---------------------------------------------------------------------- diff --git a/juddi-gui/src/main/resources/META-INF/uddi.xml b/juddi-gui/src/main/resources/META-INF/uddi.xml index 7d66c29..08ed9df 100644 --- a/juddi-gui/src/main/resources/META-INF/uddi.xml +++ b/juddi-gui/src/main/resources/META-INF/uddi.xml @@ -38,7 +38,19 @@ It currently does not use the ValueSet, jUDDI, Replication, or REST APIs <securityUrl>http://localhost:8080/juddiv3/services/security</securityUrl> <subscriptionUrl>http://localhost:8080/juddiv3/services/subscription</subscriptionUrl> </node> - <node> + <node> + <!-- required 'default' node --> + <name>integrationTest</name> + <description>UDDIv3 CI (localhost)</description> + <!-- JAX-WS Transport --> + <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport> + <custodyTransferUrl>http://localhost:8880/juddiv3/services/custody-transfer</custodyTransferUrl> + <inquiryUrl>http://localhost:8880/juddiv3/services/inquiry</inquiryUrl> + <publishUrl>http://localhost:8880/juddiv3/services/publish</publishUrl> + <securityUrl>http://localhost:8880/juddiv3/services/security</securityUrl> + <subscriptionUrl>http://localhost:8880/juddiv3/services/subscription</subscriptionUrl> + </node> + <node> <!-- for jUDDI v0.9 to 2.0.1 --> <name>juddiv2</name> <description>UDDIv2 Node (localhost)</description> http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/juddi-gui/src/main/webapp/index.jsp ---------------------------------------------------------------------- diff --git a/juddi-gui/src/main/webapp/index.jsp b/juddi-gui/src/main/webapp/index.jsp index fb727f0..39fe581 100644 --- a/juddi-gui/src/main/webapp/index.jsp +++ b/juddi-gui/src/main/webapp/index.jsp @@ -99,7 +99,7 @@ </select> <br> <input type="checkbox" name="setcookie" checked> Remember my decision<br> - <button type="submit" value="Go" class="btn btn-primary">Go</button> + <button type="submit" value="Go" class="btn btn-primary" id="login_page_go">Go</button> </form> <b>We welcome help internationalizing jUDDI!</b> <noscript>Your browser does not support JavaScript! Functionality will be so severely reduced, that you might as well give up, sorry!</noscript> http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/juddi-gui/src/main/webapp/login.jsp ---------------------------------------------------------------------- diff --git a/juddi-gui/src/main/webapp/login.jsp b/juddi-gui/src/main/webapp/login.jsp index d1b7745..23cddbe 100644 --- a/juddi-gui/src/main/webapp/login.jsp +++ b/juddi-gui/src/main/webapp/login.jsp @@ -35,7 +35,7 @@ <script type="text/javascript"> loggedin = true; </script> - <a class="btn" title="<%=ResourceLoader.GetResource(session, "navbar.login.logout")%>" href="javascript:logout();"> + <a class="btn" title="<%=ResourceLoader.GetResource(session, "navbar.login.logout")%>" href="javascript:logout();" id="logout_button"> <% if (!request.isSecure() || !UddiHub.getInstance(application, session).isSecure()) { %> http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/uddi-tck-base/src/main/resources/tck.properties ---------------------------------------------------------------------- diff --git a/uddi-tck-base/src/main/resources/tck.properties b/uddi-tck-base/src/main/resources/tck.properties index 9a8cf1b..303ac34 100644 --- a/uddi-tck-base/src/main/resources/tck.properties +++ b/uddi-tck-base/src/main/resources/tck.properties @@ -94,4 +94,4 @@ trustStorePassword=Test # the TCK now has tests for uddiv2 and uddiv3 uddiv2.enabled=true -uddiv3.enabled=true \ No newline at end of file +uddiv3.enabled=true http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/uddi-tck/RepositoryMap.xml ---------------------------------------------------------------------- diff --git a/uddi-tck/RepositoryMap.xml b/uddi-tck/RepositoryMap.xml new file mode 100644 index 0000000..4d63f85 --- /dev/null +++ b/uddi-tck/RepositoryMap.xml @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<!-- + * Copyright 2001-2009 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ --> +<root> + <windows> + <driver id="internetexplorer"> + <version id="3.4.0"> + <bitrate sixtyfourbit="true"> + <filelocation>http://selenium-release.storage.googleapis.com/3.4/IEDriverServer_x64_3.4.0.zip</filelocation> + <hash>3e79d5cf2acdd91d0ddab9f2044ce51057ff77fe</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate thirtytwobit="true"> + <filelocation>http://selenium-release.storage.googleapis.com/3.4/IEDriverServer_Win32_3.4.0.zip</filelocation> + <hash>8657fb63344f6e26198b860bc089a7a651e43441</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="edge"> + <version id="4.15063"> + <bitrate sixtyfourbit="true" thirtytwobit="true"> + <filelocation>https://download.microsoft.com/download/3/4/2/342316D7-EBE0-4F10-ABA2-AE8E0CDF36DD/MicrosoftWebDriver.exe</filelocation> + <hash>31e80ae4fd88ed3097a1c4d3fe763539ee88e560</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="googlechrome"> + <version id="2.29"> + <bitrate thirtytwobit="true" sixtyfourbit="true"> + <filelocation>https://chromedriver.storage.googleapis.com/2.29/chromedriver_win32.zip</filelocation> + <hash>2f02f28d3ff1b8f2a63cb3bc32c26ade60ac4737</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="operachromium"> + <version id="0.2.2"> + <bitrate sixtyfourbit="true"> + <filelocation>https://github.com/operasoftware/operachromiumdriver/releases/download/v0.2.2/operadriver_win64.zip</filelocation> + <hash>8b84d334ca6dc5e30c168d8df080c1827e4c6fdb</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate thirtytwobit="true"> + <filelocation>https://github.com/operasoftware/operachromiumdriver/releases/download/v0.2.2/operadriver_win32.zip</filelocation> + <hash>daa9ba52eeca5ea3cb8a9020b85642ec047e9890</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="phantomjs"> + <version id="2.1.1"> + <bitrate thirtytwobit="true" sixtyfourbit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.zip</filelocation> + <hash>eb61e6dc49832a3d60f708a92fa7299c57cad7db</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + <version id="1.9.8"> + <bitrate thirtytwobit="true" sixtyfourbit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-windows.zip</filelocation> + <hash>4531bd64df101a689ac7ac7f3e11bb7e77af8eff</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="marionette"> + <version id="0.16.1"> + <bitrate sixtyfourbit="true"> + <filelocation>https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-win64.zip</filelocation> + <hash>f49aa6de084ce82b546868992b646e57e3bf3de8</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate thirtytwobit="true"> + <filelocation>https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-win32.zip</filelocation> + <hash>37b75297a9c316226bf3814d9908b044e21b43a3</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + </windows> + <linux> + <driver id="googlechrome"> + <version id="2.29"> + <bitrate sixtyfourbit="true"> + <filelocation>https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip</filelocation> + <hash>025a098cde0a6ad8aef53d6734979c9845bf49b5</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate thirtytwobit="true"> + <filelocation>https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux32.zip</filelocation> + <hash>36d4082a6fb3b3cbb31b013a08b1900baf13743d</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="operachromium"> + <version id="0.2.2"> + <bitrate thirtytwobit="true"> + <filelocation>https://github.com/operasoftware/operachromiumdriver/releases/download/v0.2.2/operadriver_linux32.zip</filelocation> + <hash>8b0b92a870a1b4ba619eb0b85ec587caa2942e5b</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate sixtyfourbit="true"> + <filelocation>https://github.com/operasoftware/operachromiumdriver/releases/download/v0.2.2/operadriver_linux64.zip</filelocation> + <hash>c207c6916e20ecbbc7157e3bdeb4737f14f15fe3</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="phantomjs"> + <version id="2.1.1"> + <bitrate sixtyfourbit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2</filelocation> + <hash>f8afc8a24eec34c2badccc93812879a3d6f2caf3</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate thirtytwobit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i686.tar.bz2</filelocation> + <hash>9870663f5c2826501508972b8a201d9210d27b59</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + <version id="1.9.8"> + <bitrate sixtyfourbit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2</filelocation> + <hash>d29487b2701bcbe3c0a52bc176247ceda4d09d2d</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate thirtytwobit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-i686.tar.bz2</filelocation> + <hash>efac5ae5b84a4b2b3fa845e8390fca39e6e637f2</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="marionette"> + <version id="0.16.1"> + <bitrate sixtyfourbit="true"> + <filelocation>https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-linux64.tar.gz</filelocation> + <hash>95276285b65987b6e94e57be55fdc60b95423016</hash> + <hashtype>sha1</hashtype> + </bitrate> + <bitrate arm="true"> + <filelocation>https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-arm7hf.tar.gz</filelocation> + <hash>6f013de184c8f3dba3ec39ea49de2a166cb18efb</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + </linux> + <osx> + <driver id="googlechrome"> + <version id="2.29"> + <bitrate sixtyfourbit="true"> + <filelocation>https://chromedriver.storage.googleapis.com/2.29/chromedriver_mac64.zip</filelocation> + <hash>cec18df4ef736d6712593faf91b462352217214a</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="operachromium"> + <version id="0.2.2"> + <bitrate sixtyfourbit="true"> + <filelocation>https://github.com/operasoftware/operachromiumdriver/releases/download/v0.2.2/operadriver_mac64.zip</filelocation> + <hash>d58a3b676dda7ede5c38e5df218e7c619495c4ed</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="phantomjs"> + <version id="2.1.1"> + <bitrate thirtytwobit="true" sixtyfourbit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-macosx.zip</filelocation> + <hash>c6e1a16bb9e89ce1e392a4768e99177797c93350</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + <version id="1.9.8"> + <bitrate thirtytwobit="true" sixtyfourbit="true"> + <filelocation>https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-macosx.zip</filelocation> + <hash>d70bbefd857f21104c5961b9dd081781cb4d999a</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + <driver id="marionette"> + <version id="0.15.0"> + <bitrate thirtytwobit="true" sixtyfourbit="true"> + <filelocation>https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-macos.tar.gz</filelocation> + <hash>f687a69521b22640080ea87920b358c7498bdf31</hash> + <hashtype>sha1</hashtype> + </bitrate> + </version> + </driver> + </osx> +</root> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/uddi-tck/pom.xml ---------------------------------------------------------------------- diff --git a/uddi-tck/pom.xml b/uddi-tck/pom.xml index 0bd6cbc..0f07eff 100644 --- a/uddi-tck/pom.xml +++ b/uddi-tck/pom.xml @@ -104,10 +104,56 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> </dependency> + <dependency> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-firefox-driver</artifactId> + <version>3.4.0</version> + </dependency> + <dependency> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-java</artifactId> + <version>3.4.0</version> + </dependency> + + <dependency> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-chrome-driver</artifactId> + <version>3.4.0</version> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> + </dependencies> <build> <plugins> + <plugin> + <groupId>com.lazerycode.selenium</groupId> + <artifactId>driver-binary-downloader-maven-plugin</artifactId> + <version>1.0.14</version> + <configuration> + <!-- root directory that downloaded driver binaries will be stored in --> + <rootStandaloneServerDirectory>drivers</rootStandaloneServerDirectory> + <!-- Where you want to store downloaded zip files --> + <downloadedZipFileDirectory>drivers/zip</downloadedZipFileDirectory> + <!-- last synched 2017-10-08 --> + <!-- https://raw.githubusercontent.com/Ardesco/selenium-standalone-server-plugin/master/src/main/resources/RepositoryMap.xml --> + <customRepositoryMap>RepositoryMap.xml</customRepositoryMap> + + <onlyGetDriversForHostOperatingSystem>true</onlyGetDriversForHostOperatingSystem> + + </configuration> + <executions> + <execution> + <goals> + <goal>selenium</goal> + </goals> + <phase>process-resources</phase> + </execution> + </executions> + </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <configuration> http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/uddi-tck/src/test/java/org/apache/juddi/gui/test/BaseTest.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/gui/test/BaseTest.java b/uddi-tck/src/test/java/org/apache/juddi/gui/test/BaseTest.java new file mode 100644 index 0000000..5fa92f1 --- /dev/null +++ b/uddi-tck/src/test/java/org/apache/juddi/gui/test/BaseTest.java @@ -0,0 +1,172 @@ +/* + * Copyright 2015 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.juddi.gui.test; + +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang.SystemUtils; +import org.apache.juddi.v3.client.config.UDDIClient; +import org.apache.juddi.v3.client.config.UDDINode; +import org.apache.juddi.v3.tck.TckCommon; +import org.apache.juddi.v3.tck.TckPublisher; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import static org.junit.Assert.assertEquals; +import org.junit.Assume; +import org.junit.Before; +import org.junit.BeforeClass; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.edge.EdgeDriver; +import org.openqa.selenium.firefox.FirefoxDriver; +import org.openqa.selenium.firefox.FirefoxProfile; +import org.openqa.selenium.ie.InternetExplorerDriver; +import org.openqa.selenium.opera.OperaDriver; +import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.safari.SafariDriver; + +/** + * + * @author alex + */ +public abstract class BaseTest { + + public static String BASE_URL = "http://localhost:8880/juddi-gui/"; + public static final List<WebDriver> drivers = new ArrayList<>(); + + @BeforeClass + public static void setUpClass() { + if (!TckPublisher.isJUDDI()) + return; + try { + UDDIClient client = new UDDIClient(); + client.start(); + UDDINode uddiNode = client.getClientConfig().getUDDINode("uddiv3"); + BASE_URL = (String) uddiNode.getProperties().get("juddigui"); + if (BASE_URL==null) { + BASE_URL = "http://localhost:8880/juddi-gui/"; + } + + } catch (Exception e) { + //we should not have any issues reading the config + e.printStackTrace(); + Assert.fail(); + } + //setup properties for driver locations.... + + boolean is64bit = System.getProperty("os.arch") != null && System.getProperty("os.arch").contains("64"); + String arch = is64bit ? "64bit" : "32bit"; + String os = ""; + String executableExtension = ""; + if (SystemUtils.IS_OS_WINDOWS) { + os = "windows"; + executableExtension = ".exe"; + } + if (SystemUtils.IS_OS_LINUX) { + os = "linux"; + } + //TODO mac? + + File driversPath = new File("drivers"); + + File chrome = new File(driversPath, os + "/googlechrome/" + arch + "/chromedriver" + executableExtension); + if (chrome.exists()) { + System.setProperty("webdriver.chrome.driver", chrome.getAbsolutePath()); + } + File firefox = new File(driversPath, os + "/marionette/" + arch + "/geckodriver" + executableExtension); + if (firefox.exists()) { + System.setProperty("webdriver.gecko.driver", firefox.getAbsolutePath()); + } + + File ie = new File(driversPath, os + "/internetexplorer/" + arch + "/IEDriverServer" + executableExtension); + if (ie.exists()) { + System.setProperty("webdriver.ie.driver", ie.getAbsolutePath()); + } + File edge = new File(driversPath, os + "/edge/" + arch + "/MicrosoftWebDriver" + executableExtension); + if (edge.exists()) { + System.setProperty("webdriver.edge.driver", edge.getAbsolutePath()); + } + + File opera = new File(driversPath, os + "/operachromium/" + arch + "/operadriver" + executableExtension); + if (opera.exists()) { + System.setProperty("webdriver.opera.driver", opera.getAbsolutePath()); + } +/* + try { + drivers.add(new SafariDriver()); + } catch (Throwable ex) { + ex.printStackTrace(); + } + + try { + //DesiredCapabilities capabilities = DesiredCapabilities.chrome(); + //capabilities.setCapability("chrome.switches", Arrays.asList("--incognito")); + drivers.add(new ChromeDriver()); + } catch (Throwable ex) { + ex.printStackTrace(); + }*/ + try { + //FirefoxProfile firefoxProfile = new FirefoxProfile(); + //firefoxProfile.setPreference("browser.privatebrowsing.autostart", true); + drivers.add(new FirefoxDriver()); + } catch (Throwable ex) { + ex.printStackTrace(); + } +/* + try { + //DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); + //capabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true); + //capabilities.setCapability(InternetExplorerDriver.IE_SWITCHES, "-private"); + drivers.add(new InternetExplorerDriver()); + } catch (Throwable ex) { + ex.printStackTrace(); + } + + try { + + drivers.add(new EdgeDriver()); + } catch (Throwable ex) { + ex.printStackTrace(); + } + try { + + drivers.add(new OperaDriver()); + } catch (Throwable ex) { + ex.printStackTrace(); + } +*/ + } + + @AfterClass + public static void tearDownClass() { + for (int i = 0; i < drivers.size(); i++) { + drivers.get(i).close(); + } + drivers.clear(); + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + +} http://git-wip-us.apache.org/repos/asf/juddi/blob/6ee02ccb/uddi-tck/src/test/java/org/apache/juddi/gui/test/login/LoginIntegrationTest.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/gui/test/login/LoginIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/gui/test/login/LoginIntegrationTest.java new file mode 100644 index 0000000..bbfbb20 --- /dev/null +++ b/uddi-tck/src/test/java/org/apache/juddi/gui/test/login/LoginIntegrationTest.java @@ -0,0 +1,61 @@ +/* + * Copyright 2015 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.juddi.gui.test.login; + +import org.apache.juddi.gui.test.BaseTest; +import org.junit.Assert; +import org.junit.Assume; +import org.junit.Test; +import org.openqa.selenium.By; + +/** + * + * @author alex + */ +public class LoginIntegrationTest extends BaseTest { + + @Test + public void testSplashAndLoginLogout() throws Exception { + System.out.println("testSplashAndLoginLogout"); + Assume.assumeFalse(drivers.isEmpty()); + for (int i = 0; i < drivers.size(); i++) { + System.out.println("nav to " + BASE_URL); + drivers.get(i).navigate().to(BASE_URL); + if ((BASE_URL + "/home.jsp").equalsIgnoreCase(drivers.get(i).getCurrentUrl())) { + //already based the i18n screen + } else { + drivers.get(i).findElement(By.id("login_page_go")).click(); + } + //make sure the gui is pointed to the right server. + drivers.get(i).navigate().to("javascript:switchNode('integrationTest')"); + + drivers.get(i).navigate().to(BASE_URL + "/home.jsp"); + + //todo put these in a props file + drivers.get(i).findElement(By.id("username")).sendKeys("juddi"); + drivers.get(i).findElement(By.id("password")).sendKeys("juddi"); + drivers.get(i).findElement(By.id("loginbutton")).click(); + Assert.assertTrue(drivers.get(i).findElement(By.id("logout_button")).isDisplayed()); + drivers.get(i).findElement(By.id("logout_button")).click(); + try { + drivers.get(i).findElement(By.id("logout_button")); + Assert.fail("logout failed"); + } catch (Exception ex) { + } + + } + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
