You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by er...@apache.org on 2015/08/07 06:26:58 UTC
[2/2] airavata-php-gateway git commit: Adding selenium tests to
repository
Adding selenium tests to repository
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/4df8d201
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/4df8d201
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/4df8d201
Branch: refs/heads/master
Commit: 4df8d201d038131546880e738f839d7c385d187d
Parents: 30a194c
Author: Eroma Abeysinghe <er...@apache.org>
Authored: Fri Aug 7 00:13:08 2015 -0400
Committer: Eroma Abeysinghe <er...@apache.org>
Committed: Fri Aug 7 00:13:08 2015 -0400
----------------------------------------------------------------------
app/tests/selenium/README.txt | 64 +++++++
app/tests/selenium/pom.xml | 143 +++++++++++++++
.../airavata/pga/tests/AmberSanderBR2.java | 139 +++++++++++++++
.../airavata/pga/tests/AmberSanderComet.java | 137 +++++++++++++++
.../airavata/pga/tests/AmberSanderStampede.java | 139 +++++++++++++++
.../apache/airavata/pga/tests/AutoDockBR2.java | 139 +++++++++++++++
.../pga/tests/CreateModifySearchProject.java | 124 +++++++++++++
.../airavata/pga/tests/CreateUserLogin.java | 113 ++++++++++++
.../org/apache/airavata/pga/tests/EchoBR2.java | 133 ++++++++++++++
.../apache/airavata/pga/tests/EchoComet.java | 129 ++++++++++++++
.../apache/airavata/pga/tests/EchoStampede.java | 133 ++++++++++++++
.../airavata/pga/tests/EspressoStampede.java | 136 ++++++++++++++
.../apache/airavata/pga/tests/ExpLoadTest.java | 176 +++++++++++++++++++
.../apache/airavata/pga/tests/GamessGordon.java | 139 +++++++++++++++
.../airavata/pga/tests/GaussianComet.java | 135 ++++++++++++++
.../airavata/pga/tests/GaussianGordon.java | 133 ++++++++++++++
.../airavata/pga/tests/GromacsStampede.java | 135 ++++++++++++++
.../apache/airavata/pga/tests/LammpsComet.java | 136 ++++++++++++++
.../airavata/pga/tests/LammpsStampede.java | 133 ++++++++++++++
.../apache/airavata/pga/tests/NwChemComet.java | 130 ++++++++++++++
.../airavata/pga/tests/NwChemStampede.java | 131 ++++++++++++++
.../airavata/pga/tests/PhastaPStampede.java | 134 ++++++++++++++
.../apache/airavata/pga/tests/RunAllTests.java | 172 ++++++++++++++++++
.../airavata/pga/tests/SearchProjectExp.java | 111 ++++++++++++
.../airavata/pga/tests/TinkerMonteStampede.java | 148 ++++++++++++++++
.../airavata/pga/tests/TrinityStampede.java | 146 +++++++++++++++
.../apache/airavata/pga/tests/UserLogout.java | 51 ++++++
.../apache/airavata/pga/tests/WRFStampede.java | 133 ++++++++++++++
.../pga/tests/utils/CurrentDateTime.java | 19 ++
.../pga/tests/utils/ExpFileReadUtils.java | 73 ++++++++
.../airavata/pga/tests/utils/UserLogin.java | 54 ++++++
.../selenium/src/test/resources/exp.properties | 37 ++++
32 files changed, 3855 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/README.txt
----------------------------------------------------------------------
diff --git a/app/tests/selenium/README.txt b/app/tests/selenium/README.txt
new file mode 100644
index 0000000..c050ce0
--- /dev/null
+++ b/app/tests/selenium/README.txt
@@ -0,0 +1,64 @@
+###########################################################################
+################JAVA TEST SCRIPTS FOR AIRAVATA PHP REFERENCE GATEWAY################
+###########################################################################
+
+
+
+###############Prerequisites To Run The Selenium Java Scripts##############
+1. Firefox V 31.0 or 32.0 is required for the scripts.
+https://support.mozilla.org/en-US/kb/install-older-version-of-firefox
+
+2. Copy all PHP-Reference-Gateway application input files from
+https://iu.box.com/s/9ztdby709kso8siachz16svn2y511nn7
+4. Download the Selenium Java test project from
+
+###########################################################################
+
+
+###############Environments available for Running the Scripts##############
+Selenium test are executed through PHP-Reference-Gateway by giving the URL
+Current Production URLs
+Base URL: http://test-drive.airavata.org/PHP-Reference-Gateway
+Sub URL: index.php
+###########################################################################
+
+
+###################Script Alterations & Execution Steps###################
+1. Add the Base URL and sub URL in to exp.properties.
+
+2. Create a user login using the class; CreateUserLogin. Enter all your parameters and execute.
+
+3. Change the config file with values prefered for
+ i. Project Name
+ ii. Project Description
+ iii.Experiment Name Extension
+
+2. In exp.properties file enter;
+ i. The correct base URL and sub URL of your working PPHP-Reference-Gateway.
+ ii. Change the path of the input files (Where the files exists in your local machine) for the applications.
+ iii. The static part of the path is in the config file and the varying part is in utils file ExpFileReadUtils.
+
+4. Execution Steps
+ i. CreateUserLogin.java - Already done above
+ ii. In UserLogin class change the username and password to your own username and password
+ iii. CreateModifySearchProject.java - Create A Project, Modify and Search for the Project
+ iV. Run Experiment creation scripts at your prefered sequence
+ OR
+ V. Use RunAllTests and run all the applications at once.
+ VI. If you want to do laod testing use ExpLoadTest class
+ VII. At the end run the SearchProjectExp.java to view your experiments (For the ease you can create all your experiments under one Project)
+ VIII. UserLogout.java
+###########################################################################
+
+
+############################Further Information############################
+1. To record new Selenium scripts use Selenium IDE. Download from http://www.seleniumhq.org/download/
+
+2. Record using IDE and export to java to modify and run
+
+3. For clarifications, comments please use dev@airavata.apache.org or project@scigap.org
+
+4. For more information on Selenium go to http://www.seleniumhq.org/docs/
+###########################################################################
+
+
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/pom.xml
----------------------------------------------------------------------
diff --git a/app/tests/selenium/pom.xml b/app/tests/selenium/pom.xml
new file mode 100755
index 0000000..ff5c5d0
--- /dev/null
+++ b/app/tests/selenium/pom.xml
@@ -0,0 +1,143 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.airavata.pga.tests</groupId>
+ <artifactId>PGATest</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>PGATest</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.2</version>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.12.4</version>
+ <configuration>
+ <includes>
+ <include>**/RunAllTests.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/ExpLoadTest.java</exclude>
+ </excludes>
+ <!--skip>true</skip-->
+ <systemProperties>
+ <!--property>
+ <name>user</name>
+ <value>tobrien</value>
+ </property>
+ <property>
+ <name>name</name>
+ <value>Tim O'Brien</value>
+ </property -->
+ </systemProperties>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <!--skip>false</skip-->
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>selenium-maven-plugin</artifactId>
+ <version>2.3</version>
+ <!--executions>
+ <execution>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start-server</goal>
+ </goals>
+ <configuration>
+ <background>false</background>
+ </configuration>
+ </execution>
+ </executions -->
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <!--dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>5.10</version>
+ <classifier>jdk15</classifier>
+ <scope>test</scope>
+ </dependency-->
+ <dependency>
+ <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+ <artifactId>selenium-java-client-driver</artifactId>
+ <version>1.0.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-firefox-driver</artifactId>
+ <version>2.44.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.3.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ <version>4.3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-exec</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>18.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-remote-driver</artifactId>
+ <version>2.44.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-java</artifactId>
+ <version>2.44.0</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderBR2.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderBR2.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderBR2.java
new file mode 100755
index 0000000..906c5c3
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderBR2.java
@@ -0,0 +1,139 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Amber Application on BR2**********
+ * Created by Eroma on 9/12/14.
+ * The script generates Amber application execution on BR2
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class AmberSanderBR2 extends UserLogin {
+ private WebDriver driver;
+ private String subUrl;
+ private String baseUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+
+ }
+
+ @Test
+ public void testAmberSanderBR2() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ waitTime (200);
+ driver.findElement(By.id("experiment-name")).sendKeys(expName +"AmberSander-BR2");
+ driver.findElement(By.id("experiment-description")).clear();
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Amber_Sander");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ driver.findElement(By.id("Heat-Restart-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT1);
+ waitTime (200);
+ driver.findElement(By.id("Parameter-Topology-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT2);
+ waitTime (200);
+ driver.findElement(By.id("Production-Control-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT3);
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("bigred2.uits.iu.edu");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).clear();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderComet.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderComet.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderComet.java
new file mode 100755
index 0000000..f2d0d76
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderComet.java
@@ -0,0 +1,137 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Amber Application on Comet**********
+ * Created by Eroma on 9/16/14.
+ * The script generates Amber application execution on Trestles
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class AmberSanderComet extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testAmberSanderComet() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ waitTime (200);
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "AmberSander-Comet");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Amber_Sander");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("Heat-Restart-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT1);
+ waitTime (200);
+ driver.findElement(By.id("Parameter-Topology-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT2);
+ waitTime (200);
+ driver.findElement(By.id("Production-Control-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT3);
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("comet.sdsc.edu");
+ waitTime (200);
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).clear();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderStampede.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderStampede.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderStampede.java
new file mode 100755
index 0000000..b670407
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderStampede.java
@@ -0,0 +1,139 @@
+package org.apache.airavata.pga.tests;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+import java.util.concurrent.TimeUnit;
+
+import static org.junit.Assert.*;
+
+/*
+ **********Executing Amber Application on Stampede**********
+ * Created by Eroma on 9/15/14.
+ * The script generates Amber application execution on Stampede
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class AmberSanderStampede extends UserLogin {
+ private WebDriver driver;
+ private String subUrl;
+ private String baseUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+
+ }
+
+ @Test
+ public void testAmberSanderStampede() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "AmberSander-Stampede");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Amber_Sander");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("Heat-Restart-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT1);
+ waitTime (200);
+ driver.findElement(By.id("Parameter-Topology-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT2);
+ waitTime (200);
+ driver.findElement(By.id("Production-Control-File")).sendKeys(ExpFileReadUtils.AMBER_INPUT3);
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("stampede.tacc.xsede.org");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).clear();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AutoDockBR2.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AutoDockBR2.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AutoDockBR2.java
new file mode 100755
index 0000000..08e9578
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AutoDockBR2.java
@@ -0,0 +1,139 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Amber Application on BR2**********
+ * Created by Eroma on 9/12/14.
+ * The script generates Amber application execution on BR2
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class AutoDockBR2 extends UserLogin {
+ private WebDriver driver;
+ private String subUrl;
+ private String baseUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+
+ }
+
+ @Test
+ public void testAutoDockBR2() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ waitTime (200);
+ driver.findElement(By.id("experiment-name")).sendKeys(expName +"AutoDock-BR2");
+ driver.findElement(By.id("experiment-description")).clear();
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("AutoDock");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ driver.findElement(By.id("Autodock-Input")).sendKeys(ExpFileReadUtils.AUTODOCK_INPUT1);
+ waitTime (200);
+ driver.findElement(By.id("Autodock-Data")).sendKeys(ExpFileReadUtils.AUTODOCK_INPUT2);
+ waitTime (200);
+ driver.findElement(By.id("HSG1-Maps-FLD")).sendKeys(ExpFileReadUtils.AUTODOCK_INPUT3);
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("bigred2.uits.iu.edu");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).clear();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateModifySearchProject.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateModifySearchProject.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateModifySearchProject.java
new file mode 100755
index 0000000..90945e1
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateModifySearchProject.java
@@ -0,0 +1,124 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+
+//import static org.testng.Assert.fail;
+
+/*
+ **********Create, Modify & Search Project**********
+ * Created by Airavata on 9/12/14.
+ * The script creates, modifies and searches for the created Project
+ * project-name and project-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+*/
+
+
+public class CreateModifySearchProject extends UserLogin {
+ private WebDriver driver;
+ private String subUrl;
+ private String baseUrl;
+ private String projectDescription;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ projectDescription = ExpFileReadUtils.readProperty("project.description");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testCreateModifySearchProject() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Project")).click();
+ driver.findElement(By.id("create")).click();
+ driver.findElement(By.id("project-name")).clear();
+ driver.findElement(By.id("project-name")).sendKeys(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (500);
+ driver.findElement(By.id("project-description")).clear();
+ driver.findElement(By.id("project-description")).sendKeys(projectDescription);
+ waitTime (500);
+ driver.findElement(By.name("save")).click();
+ waitTime(750);
+ driver.findElement(By.cssSelector("span.glyphicon.glyphicon-pencil")).click();
+ driver.findElement(By.id("project-description")).clear();
+ driver.findElement(By.id("project-description")).sendKeys(projectDescription + "_MODIFIED_2015");
+ waitTime(500);
+ driver.findElement(By.name("save")).click();
+ waitTime(500);
+ driver.findElement(By.linkText("Project")).click();
+ driver.findElement(By.id("browse")).click();
+ waitTime(500);
+ driver.findElement(By.id("search-value")).clear();
+ driver.findElement(By.id("search-value")).sendKeys(ExpFileReadUtils.readProperty("project.name"));
+ waitTime(500);
+ driver.findElement(By.name("search")).click();
+ driver.findElement(By.linkText("View")).click();
+ waitTime(500);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ throw new Exception(verificationErrorString);
+
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateUserLogin.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateUserLogin.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateUserLogin.java
new file mode 100755
index 0000000..62098ad
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateUserLogin.java
@@ -0,0 +1,113 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+
+public class CreateUserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testCreateUserLogin() throws Exception {
+
+ String username = null;
+ String password = null;
+ try {
+ username = ExpFileReadUtils.readProperty("pga.username");
+ password = ExpFileReadUtils.readProperty("pga.password");
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ if (username == null || username.trim().equals("")
+ || password == null || password.trim().equals(""))
+ throw new RuntimeException("PGS user name or password in exp.properties file is invalid !");
+
+ username = username.trim();
+ password = password.trim();
+
+ driver.get(baseUrl);
+ driver.findElement(By.linkText("Create account")).click();
+ driver.findElement(By.id("username")).sendKeys(username);
+ waitTime(500);
+ driver.findElement(By.id("password")).sendKeys(password);
+ waitTime(500);
+ driver.findElement(By.id("confirm_password")).sendKeys(password);
+ waitTime(500);
+ driver.findElement(By.id("email")).sendKeys("pgauser@gmail.com");
+ waitTime(500);
+ driver.findElement(By.id("first_name")).sendKeys("PGA");
+ waitTime(500);
+ driver.findElement(By.id("last_name")).sendKeys("User");
+ waitTime(500);
+ driver.findElement(By.name("Submit")).click();
+ waitTime(5000);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoBR2.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoBR2.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoBR2.java
new file mode 100755
index 0000000..2f404f2
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoBR2.java
@@ -0,0 +1,133 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Echo Application on BR2**********
+ * Created by Airavata on 9/16/14.
+ * The script generates Echo application execution on BR2
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class EchoBR2 extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testEchoBR2() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "Echo-BR2");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Echo");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("Input_to_Echo")).clear();
+ driver.findElement(By.id("Input_to_Echo")).sendKeys("Echo Test");
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("bigred2.uits.iu.edu");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoComet.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoComet.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoComet.java
new file mode 100755
index 0000000..dc22ea2
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoComet.java
@@ -0,0 +1,129 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Echo Application on Comet**********
+ * Created by Eroma on 9/16/14.
+ * The script generates Echo application execution on Trestles
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class EchoComet extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testEchoComet() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "Echo-Comet");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Echo");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("Input-to-Echo")).sendKeys("Echo Test");
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("comet.sdsc.edu");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoStampede.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoStampede.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoStampede.java
new file mode 100755
index 0000000..b30ecab
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoStampede.java
@@ -0,0 +1,133 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Echo Application on Stampede**********
+ * Created by Eroma on 9/16/14.
+ * The script generates Echo application execution on Stampede
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/23/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class EchoStampede extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testEchoStampede() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ waitTime (200);
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "Echo-Stampede");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Echo");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("Input-to-Echo")).sendKeys("Echo Test");
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("stampede.tacc.xsede.org");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EspressoStampede.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EspressoStampede.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EspressoStampede.java
new file mode 100755
index 0000000..605ab74
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EspressoStampede.java
@@ -0,0 +1,136 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Espresso Application on Stampede**********
+ * Created by Eroma on 9/16/14.
+ * The script generates Espresso application execution on Stampede
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/27/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class EspressoStampede extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String path = null;
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ path = ExpFileReadUtils.readProperty("local.path");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testEspressoStampede() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ waitTime (200);
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "Espresso-Stampede");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Quantum Espresso");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("AI-Pseudopotential-file")).sendKeys(ExpFileReadUtils.ESPRESSO_INPUT2);
+ waitTime (200);
+ driver.findElement(By.id("AI-Primitive-Cell")).sendKeys(ExpFileReadUtils.ESPRESSO_INPUT1);
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("stampede.tacc.xsede.org");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/ExpLoadTest.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/ExpLoadTest.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/ExpLoadTest.java
new file mode 100644
index 0000000..1a3ec66
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/ExpLoadTest.java
@@ -0,0 +1,176 @@
+package org.apache.airavata.pga.tests;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ **********Executing Load Tests on Airavata Applications**********
+ * Created by Eroma on 4/26/15.
+ * The script to be used in load testing using PGA gateway
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+public class ExpLoadTest extends UserLogin {
+
+ @Before
+ public void setUp() throws Exception {}
+
+ @Test
+ public void runAll() throws Exception {
+ System.out.println("============== Running all tests ==================");
+
+ long startTime = System.nanoTime();
+ int iterations1 = 1;
+ for (int i=0; i < iterations1; ++i) {
+ System.out.println("Starting AmberSanderBR2 iteration ...");
+ AmberSanderBR2 t1 = new AmberSanderBR2();
+ t1.setUp();
+ t1.testAmberSanderBR2();
+ t1.tearDown();
+ System.out.println("AmberSanderBR2 iteration - Done");
+
+ System.out.println("Starting AmberSanderStampede ...");
+ AmberSanderStampede t2 = new AmberSanderStampede();
+ t2.setUp();
+ t2.testAmberSanderStampede();
+ t2.tearDown();
+ System.out.println("AmberSanderStampede - Done");
+
+ System.out.println("Starting AmberSanderComet ...");
+ AmberSanderComet t3 = new AmberSanderComet();
+ t3.setUp();
+ t3.testAmberSanderComet();
+ t3.tearDown();
+ System.out.println("AmberSanderComet - Done");
+
+ System.out.println("Starting AutoDockBR2 ...");
+ AutoDockBR2 t4 = new AutoDockBR2();
+ t4.setUp();
+ t4.testAutoDockBR2();
+ t4.tearDown();
+ System.out.println("AutoDockBR2 - Done");
+
+ System.out.println("Starting EchoBR2 ...");
+ EchoBR2 t5 = new EchoBR2();
+ t5.setUp();
+ t5.testEchoBR2();
+ t5.tearDown();
+ System.out.println("EchoBR2 - Done");
+
+ System.out.println("Starting EchoStampede ...");
+ EchoStampede t6 = new EchoStampede();
+ t6.setUp();
+ t6.testEchoStampede();
+ t6.tearDown();
+ System.out.println("EchoStampede - Done");
+
+ System.out.println("Starting EchoComet ...");
+ EchoComet t7 = new EchoComet();
+ t7.setUp();
+ t7.testEchoComet();
+ t7.tearDown();
+ System.out.println("EchoComet - Done");
+
+ System.out.println("Starting EspressoStampede ...");
+ EspressoStampede t8 = new EspressoStampede();
+ t8.setUp();
+ t8.testEspressoStampede();
+ t8.tearDown();
+ System.out.println("EspressoStampede - Done");
+
+ System.out.println("Starting GamessGordon ...");
+ GamessGordon t9 = new GamessGordon();
+ t9.setUp();
+ t9.testGamessGordon();
+ t9.tearDown();
+ System.out.println("GamessGordon - Done");
+
+ System.out.println("Starting GaussianComet ...");
+ GaussianComet t10 = new GaussianComet();
+ t10.setUp();
+ t10.testGaussianComet();
+ t10.tearDown();
+ System.out.println("GaussianComet - Done");
+
+ System.out.println("Starting GaussianGordon ...");
+ GaussianGordon t11 = new GaussianGordon();
+ t11.setUp();
+ t11.testGaussianGordon();
+ t11.tearDown();
+ System.out.println("GaussianGordon - Done");
+
+ System.out.println("Starting GromacsStampede ...");
+ GromacsStampede t12 = new GromacsStampede();
+ t12.setUp();
+ t12.testGromacsStampede();
+ t12.tearDown();
+ System.out.println("GromacsStampede - Done");
+
+ System.out.println("Starting LammpsStampede ...");
+ LammpsStampede t13 = new LammpsStampede();
+ t13.setUp();
+ t13.testLammpsStampede();
+ t13.tearDown();
+ System.out.println("LammpsStampede - Done");
+
+ System.out.println("Starting LammpsComet ...");
+ LammpsComet t14 = new LammpsComet();
+ t14.setUp();
+ t14.testLammpsComet();
+ t14.tearDown();
+ System.out.println("LammpsComet - Done");
+
+ System.out.println("Starting NwChemStampede ...");
+ NwChemStampede t15 = new NwChemStampede();
+ t15.setUp();
+ t15.testNwChemStampede();
+ t15.tearDown();
+ System.out.println("NwChemStampede - Done");
+
+ System.out.println("Starting NwChemComet ...");
+ NwChemComet t16 = new NwChemComet();
+ t16.setUp();
+ t16.testNwChemComet();
+ t16.tearDown();
+ System.out.println("NwChemComet - Done");
+
+ System.out.println("Starting PhastaPStampede ...");
+ PhastaPStampede t17 = new PhastaPStampede();
+ t17.setUp();
+ t17.testPhastaPStampede();
+ t17.tearDown();
+ System.out.println("PhastaPStampede - Done");
+
+ System.out.println("Starting TinkerMonteStampede ...");
+ TinkerMonteStampede t18 = new TinkerMonteStampede();
+ t18.setUp();
+ t18.testTinkerMonteStampede();
+ t18.tearDown();
+ System.out.println("TinkerMonteStampede - Done");
+
+ /*System.out.println("Starting TrinityStampede ...");
+ TrinityStampede t19 = new TrinityStampede();
+ t19.setUp();
+ t19.testTrinityStampede();
+ t19.tearDown();
+ System.out.println("TrinityStampede - Done");*/
+
+ System.out.println("Starting WRFStampede ...");
+ WRFStampede t20 = new WRFStampede();
+ t20.setUp();
+ t20.testWRFStampede();
+ t20.tearDown();
+ System.out.println("WRFStampede - Done");
+ }
+
+ long endTime = System.nanoTime();
+ long duration = (endTime - startTime);
+
+ System.out.println("Time to execute All Experiments "
+ + " : " + (duration / 1000000000)/60 + " minutes.");
+
+
+ System.out.println("==================== Done =========================");
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GamessGordon.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GamessGordon.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GamessGordon.java
new file mode 100755
index 0000000..22e2d4f
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GamessGordon.java
@@ -0,0 +1,139 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Gamess Application on Gordon**********
+ * Created by Eroma on 9/16/14.
+ * The script generates Trinity application execution on Stampede
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/27/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class GamessGordon extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String path = null;
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ path = ExpFileReadUtils.readProperty("local.path");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testGamessGordon() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "Gamess-Gordon");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime(200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime(200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Gamess");
+ waitTime(200);
+ driver.findElement(By.name("continue")).click();
+ waitTime(200);
+ driver.findElement(By.id("Gamess-Input-File")).sendKeys(ExpFileReadUtils.GAMESS_INPUT1);
+ waitTime(200);
+ driver.findElement(By.id("Gamess-Version")).sendKeys("00");
+ waitTime (200);
+ driver.findElement(By.id("PPN")).clear();
+ driver.findElement(By.id("PPN")).sendKeys("4");
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("gordon.sdsc.edu");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).clear();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianComet.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianComet.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianComet.java
new file mode 100755
index 0000000..db3c5ac
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianComet.java
@@ -0,0 +1,135 @@
+package org.apache.airavata.pga.tests;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+import java.util.concurrent.TimeUnit;
+
+import static org.junit.Assert.fail;
+
+/*
+ **********Executing Gaussian Application on Comet**********
+ * Created by Eroma on 9/16/14.
+ * The script generates NwChem application execution on Stampede
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/27/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class GaussianComet extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String path = null;
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ path = ExpFileReadUtils.readProperty("local.path");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testGaussianComet() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "Gaussian-Comet");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Gaussian");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("Gaussian-Input-File")).sendKeys(ExpFileReadUtils.GAUSSIAN_INPUT1);
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("comet.sdsc.edu");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("compute");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4df8d201/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianGordon.java
----------------------------------------------------------------------
diff --git a/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianGordon.java b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianGordon.java
new file mode 100755
index 0000000..758f28c
--- /dev/null
+++ b/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianGordon.java
@@ -0,0 +1,133 @@
+package org.apache.airavata.pga.tests;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.airavata.pga.tests.utils.UserLogin;
+import org.apache.airavata.pga.tests.utils.ExpFileReadUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.openqa.selenium.*;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/*
+ **********Executing Gaussian Application on Gordon**********
+ * Created by Eroma on 9/16/14.
+ * The script generates NwChem application execution on Stampede
+ * experiment-name and experiment-description are read from the exp.properties file
+ * Modified by Eroma on 10/27/14. Base URL & Sub URL to be read from the exp.properties file
+ * Updated to work with Latest PGA by Eroma 08/05/2015
+*/
+
+public class GaussianGordon extends UserLogin {
+ private WebDriver driver;
+ private String baseUrl;
+ private String subUrl;
+ private boolean acceptNextAlert = true;
+ private StringBuffer verificationErrors = new StringBuffer();
+ private String path = null;
+ private String expName = null;
+
+ @Before
+ public void setUp() throws Exception {
+ driver = new FirefoxDriver();
+ baseUrl = ExpFileReadUtils.readProperty("base.url");
+ subUrl = ExpFileReadUtils.readProperty("sub.url");
+ path = ExpFileReadUtils.readProperty("local.path");
+ expName = ExpFileReadUtils.readProperty("experiment.name");
+ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void testGaussianGordon() throws Exception {
+ driver.get(baseUrl + subUrl);
+ authenticate(driver);
+ driver.findElement(By.linkText("Experiment")).click();
+ driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
+ driver.findElement(By.id("experiment-name")).clear();
+ driver.findElement(By.id("experiment-name")).sendKeys(expName + "Gaussian-Gordon");
+ waitTime (200);
+ driver.findElement(By.id("experiment-description")).clear();
+ driver.findElement(By.id("experiment-description")).sendKeys("Test Experiment");
+ waitTime (200);
+ new Select(driver.findElement(By.id("project"))).selectByVisibleText(ExpFileReadUtils.readProperty("project.name"));
+ waitTime (200);
+ new Select(driver.findElement(By.id("application"))).selectByVisibleText("Gaussian");
+ waitTime (200);
+ driver.findElement(By.name("continue")).click();
+ waitTime (200);
+ driver.findElement(By.id("Gaussian-Input-File")).sendKeys(ExpFileReadUtils.GAUSSIAN_INPUT2);
+ waitTime (200);
+ new Select(driver.findElement(By.id("compute-resource"))).selectByVisibleText("gordon.sdsc.edu");
+ waitTime (200);
+ new Select(driver.findElement(By.id("select-queue"))).selectByVisibleText("normal");
+ waitTime (200);
+ driver.findElement(By.id("node-count")).clear();
+ driver.findElement(By.id("node-count")).sendKeys("1");
+ driver.findElement(By.id("cpu-count")).clear();
+ driver.findElement(By.id("cpu-count")).sendKeys("16");
+ driver.findElement(By.id("wall-time")).clear();
+ driver.findElement(By.id("wall-time")).sendKeys("30");
+ driver.findElement(By.id("memory-count")).clear();
+ driver.findElement(By.id("memory-count")).sendKeys("0");
+ driver.findElement(By.id("enableEmail")).click();
+ driver.findElement(By.id("emailAddresses")).clear();
+ driver.findElement(By.id("emailAddresses")).sendKeys(ExpFileReadUtils.readProperty("email1"));
+ driver.findElement(By.xpath("(//button[@type='button'])[2]")).click();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).clear();
+ driver.findElement(By.xpath("(//input[@name='emailAddresses[]'])[2]")).sendKeys(ExpFileReadUtils.readProperty("email2"));
+ waitTime (200);
+ driver.findElement(By.name("launch")).click();
+ waitTime (200);
+ }
+
+ private void waitTime(int i) {
+ try {
+ Thread.sleep(i);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ driver.quit();
+ String verificationErrorString = verificationErrors.toString();
+ if (!"".equals(verificationErrorString)) {
+ fail(verificationErrorString);
+ }
+ }
+
+ private boolean isElementPresent(By by) {
+ try {
+ driver.findElement(by);
+ return true;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ }
+
+ private boolean isAlertPresent() {
+ try {
+ driver.switchTo().alert();
+ return true;
+ } catch (NoAlertPresentException e) {
+ return false;
+ }
+ }
+
+ private String closeAlertAndGetItsText() {
+ try {
+ Alert alert = driver.switchTo().alert();
+ String alertText = alert.getText();
+ if (acceptNextAlert) {
+ alert.accept();
+ } else {
+ alert.dismiss();
+ }
+ return alertText;
+ } finally {
+ acceptNextAlert = true;
+ }
+ }
+}