Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ids 10028 #206

Open
wants to merge 51 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
fbb0113
Merge pull request #176 from NASA-AMMOS/develop
jamesfwood Aug 23, 2023
62abd8c
Upgrades Bootstrap to v4
jdrodjpl Jan 31, 2024
18382d2
Initial add of require Popper library on processes page
jdrodjpl Feb 3, 2024
5b3f02b
Navbar tweaks
jdrodjpl Feb 6, 2024
8474fad
Adds new icons from Stellar, fixes navbar and sidebar
jdrodjpl Feb 13, 2024
71dac06
Merge branch 'develop'
Feb 27, 2024
040d865
Updates to Bootstrap 5, adds Stellar icons
jdrodjpl Feb 29, 2024
f8a43df
wip
jdrodjpl Mar 5, 2024
0e0f540
Fixes header bar blocking Selenium tests, adds new icons, shrinks lef…
jdrodjpl Mar 25, 2024
e5d94fa
More images added
jdrodjpl Mar 26, 2024
e897108
Interfaces fixes and test fixes(?)
jdrodjpl Mar 27, 2024
5ec317e
Layout and icon color fixes
jdrodjpl Apr 9, 2024
6c04a1e
Fix save XML modal
jdrodjpl Apr 9, 2024
8bbed3f
wip
jdrodjpl Apr 10, 2024
dd65c66
wip
jdrodjpl Apr 15, 2024
863464c
wip
jdrodjpl Apr 15, 2024
d646727
wip
jdrodjpl Apr 16, 2024
85618b9
wip
jdrodjpl Apr 16, 2024
ff236b7
cleanup
jdrodjpl Apr 16, 2024
1ac33b0
Layout tweaks
jdrodjpl May 1, 2024
7a9d367
Fixes missing left-hand nav tooltips for several pages
jdrodjpl May 7, 2024
f5c3c6c
Merge branch 'develop'
May 7, 2024
d69e45a
Fixes stats tooltips on Deployments page
jdrodjpl May 7, 2024
b79d20e
Merge branch 'develop' into IDS-10028
jdrodjpl May 14, 2024
b34e2b9
Removes spurious 'no statistics' message that was appearing in Deploy…
jdrodjpl May 20, 2024
1453353
Upgrades DataTables with new bundle that contains dependencies, fixes…
jdrodjpl Jul 9, 2024
e866cc3
Fixes missing tooltips for menu on initiator page and broken .success…
jdrodjpl Jul 9, 2024
0b10fcd
Fixes history page formatting issues -- broken dropdown, too-narrow t…
jdrodjpl Jul 17, 2024
f9babb7
Fixes broken/wonky initiators page 'Save XML' modal -- cancel buttons…
jdrodjpl Jul 17, 2024
54e8941
Fixes broken column select button on Logs page and adds some spacing …
jdrodjpl Jul 17, 2024
06dcd93
Fixes issue where hiding suspended processes didn't work
jdrodjpl Jul 18, 2024
4ff566a
Fixes colors for failed deployments on Deployments page and broken Wo…
jdrodjpl Jul 18, 2024
ec6b581
Fix broken dismiss button for 'unable to delete task' modal
jdrodjpl Jul 20, 2024
e425a6d
Merge branch 'main' into IDS-10028
jdrodjpl Jul 24, 2024
475877f
Merge branch 'develop' into IDS-10028
jdrodjpl Aug 20, 2024
800b816
fix: Adjust layout and column widths in deployments.ftl
jdrodjpl Aug 21, 2024
647f1b0
fix: change datatables column type to string
jdrodjpl Aug 21, 2024
453cda3
wip
jdrodjpl Aug 26, 2024
3c9c1fa
Processes page
jdrodjpl Sep 16, 2024
22604b4
fix: Update button styles in logs.ftl
jdrodjpl Sep 17, 2024
e005caa
feat: set width of "messages" column in DataTable to 300px
jdrodjpl Sep 17, 2024
7ed4750
Logs page
jdrodjpl Sep 17, 2024
e301f69
fix: Add debugger statement to downloadLogJSON function
jdrodjpl Sep 17, 2024
694bd39
style: adjust column widths in datatable
jdrodjpl Sep 17, 2024
83eed0c
History page
jdrodjpl Sep 17, 2024
857fad7
fix: Update button styles in deployments.ftl
jdrodjpl Sep 17, 2024
9aad82c
style: reduce size of "version" column
jdrodjpl Sep 17, 2024
05df1fa
Fixes unit tests that were looking at the wrong input area for the ta…
jdrodjpl Sep 24, 2024
2c73ced
Fixes more tests cases for bootstrap upgrade
jdrodjpl Sep 24, 2024
9fbdc6d
Fixes Workers test after Boostrap overhaul
jdrodjpl Sep 24, 2024
0fca0ce
Merge branch 'develop' into IDS-10028
jdrodjpl Sep 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion cws-installer/src/main/java/jpl/cws/task/CwsInstaller.java
Original file line number Diff line number Diff line change
Expand Up @@ -3134,7 +3134,7 @@ private static void updateCwsUiConfig() throws IOException {
if (cws_project_webapp_root != null && !cws_project_webapp_root.equals("none") && cws_project_webapp_root.length() > 1) {

String linkName = cws_project_webapp_root.substring(0, 1).toUpperCase() + cws_project_webapp_root.substring(1);
projectLink = "<li><a href=\"/" + cws_project_webapp_root + "\"><span class=\"glyphicon glyphicon-wrench\"></span> &nbsp;" + linkName + "</a></li>";
projectLink = "<li class=\"nav-item\"><a class=\"nav-link\" href=\"/" + cws_project_webapp_root + "\"><img height=\"16\" width=\"16\" src=\"/${base}/images/utility_wrench.svg\" />" + linkName + "</a></li>";
}

content = content.replace("__CWS_PROJECT_LINK__", projectLink);
Expand Down
21 changes: 18 additions & 3 deletions cws-test/src/test/java/jpl/cws/test/WebTestUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,13 @@
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.JavascriptExecutor;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
*
* @author ghollins
Expand Down Expand Up @@ -284,9 +288,13 @@ public void startProcDef(String procDef, String procName, long procTime) {

public void enableWorkers(String procDef) {
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30));

wait.until(ExpectedConditions.elementToBeClickable(By.id("pv-"+procDef)));
sleep(5000);
WebElement enable = findElById("pv-"+procDef);

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", enable);
sleep(5000);

enable.click();
sleep(1000);

Expand All @@ -312,6 +320,11 @@ public void disableWorkers(String procDef) {

wait.until(ExpectedConditions.elementToBeClickable(By.id("pv-"+procDef)));
WebElement enable = findElById("pv-"+procDef);

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", enable);
sleep(1000);

enable.click();
sleep(1000);

Expand Down Expand Up @@ -447,8 +460,10 @@ public void deleteProc(String procName) {
if(driver.getPageSource().contains(procName)) {
disableWorkers(procName);

wait.until(ExpectedConditions.elementToBeClickable(By.id("delete-"+procName)));
WebElement delButton = driver.findElement(By.id("delete-"+procName));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", delButton);

delButton.click();

waitForElementID("delete-proc-def");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public void processCompletedTest() throws IOException {
String color = driver.findElement(By.className("progress-bar-success")).getCssValue("background-color");
log.info(color);

if (color.equals("rgba(92, 184, 92, 1)")) { //color = green
if (color.equals("rgba(0, 128, 0, 1)")) {
scriptPass = true;
testCasesCompleted++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,23 +60,23 @@ public void runResultsTest() throws IOException {

goToPage("processes");

waitForElementXPath("//div[@id=\'processes-table_filter\']/label/input");
waitForElementXPath("//input[@id=\'dt-search-0\']");

sleep(5000);

driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).click();
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys("test_history_page");
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys(Keys.ENTER);
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).click();
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys("test_history_page");
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys(Keys.ENTER);

waitForElementID("processes-table");

log.info("Verifying the header and output from the model.");
WebElement historyButton = findElByXPath("//a[contains(text(),'History')]");
WebElement historyButton = findElByXPath("//button[contains(text(),'History')]");
waitForElement(historyButton);
scrollTo(historyButton);
historyButton.click();

findOnPage("CWS - History");
findOnPage("History");

WebElement hideLineCheckbox = findElByXPath("//input[@id='showall']");
waitForElement(hideLineCheckbox);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

package jpl.cws.test.integration.ui;

import static org.junit.Assert.assertTrue;
Expand Down Expand Up @@ -130,7 +131,10 @@ public void runStartInitiatorTest() throws IOException {
driver.findElement(By.id("saveXmlBtn")).click();

waitForElementID("saveConfirmBtn");
driver.findElement(By.id("saveConfirmBtn")).click();
WebElement saveConfirmBtn = driver.findElement(By.id("saveConfirmBtn"));

js.executeScript("arguments[0].scrollIntoViewIfNeeded();", saveConfirmBtn);
saveConfirmBtn.click();

wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("saveConfirmBtn")));

Expand Down Expand Up @@ -175,7 +179,12 @@ public void runStartInitiatorTest() throws IOException {
String color = driver.findElement(By.className("progress-bar-success")).getCssValue("background-color");
log.info(color);

if (color.equals("rgba(92, 184, 92, 1)")) { //color = green
WebElement progressBar = driver.findElement(By.className("progress-bar-success"));
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", progressBar);
sleep(1000);
screenShot("InitiatorTestIT-runStartInitiatorTestColor");

if (color.equals("rgba(0, 128, 0, 1)")) {
scriptPass = true;
testCasesCompleted++;
}
Expand All @@ -198,22 +207,24 @@ public void runVariableProcTest() throws IOException {
goToPage("processes");

log.info("Filtering results for Test Initiators Page test.");
waitForElementXPath("//div[@id=\'processes-table_filter\']/label/input");
waitForElementXPath("//input[@id=\'dt-search-0\']");

driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).click();
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys("test_initiators_page");
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys(Keys.ENTER);
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).click();
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys("test_initiators_page");
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys(Keys.ENTER);

waitForElementID("processes-table");

log.info("Clicking on Test Initiators Page history.");
WebElement historyButton = findElByXPath("//a[contains(text(),'History')]");
sleep(5000);
WebElement historyButton = findElByXPath("//button[contains(text(),'History')]");
waitForElement(historyButton);
historyButton.sendKeys(Keys.RETURN);

findOnPage("CWS - History");

log.info("Looking for 'variable1 = foo' and 'variable2 = bar'");

if (findOnPage("Setting (string) variable1 = foo")
&& findOnPage("Setting (string) variable2 = bar")) {
scriptPass = true;
Expand Down Expand Up @@ -320,7 +331,7 @@ public void runCronInitiatorTest() throws IOException {
String color = driver.findElement(By.className("progress-bar-success")).getCssValue("background-color");
log.info(color);

if (color.equals("rgba(92, 184, 92, 1)")) { //color = green
if (color.equals("rgba(0, 128, 0, 1)")) {
scriptPass = true;
procCounter = procCounter + 2;
testCasesCompleted++;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,10 @@ public void runStartLoadTest() throws IOException {
driver.findElement(By.id("saveXmlBtn")).click();

waitForElementID("saveConfirmBtn");
driver.findElement(By.id("saveConfirmBtn")).click();
WebElement saveConfirmBtn = driver.findElement(By.id("saveConfirmBtn"));

js.executeScript("arguments[0].scrollIntoViewIfNeeded();", saveConfirmBtn);
saveConfirmBtn.click();

wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("saveConfirmBtn")));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,27 +117,28 @@ public void runTableColumnTest() throws IOException {
findElByXPath("//div[@id='logData_wrapper']/div/div/div/button/span").click();

log.info("Checking CWS Host.");
findElByXPath("//a[text()='CWS Host']").click();
findElByXPath("//button/span[text()='CWS Host']").click();
sleep(1000);

log.info("Checking CWS Worker ID.");
findElByXPath("//a[text()='CWS Worker ID']").click();
findElByXPath("//button/span[text()='CWS Worker ID']").click();
sleep(1000);

log.info("Checking ProcDefKey.");
findElByXPath("//a[text()='Proc Def Key']").click();
findElByXPath("//button/span[text()='Proc Def Key']").click();
sleep(1000);

log.info("Checking ProcInstId.");
findElByXPath("//a[text()='Proc Inst ID']").click();
findElByXPath("//button/span[text()='Proc Inst ID']").click();
sleep(1000);

wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.tagName("table")));
// wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.tagName("table")));
WebElement myTable = driver.findElement(By.tagName("table"));

log.info("Checking data from table to ensure all checkboxes were clicked: " + myTable.getText());
log.info(myTable.getText());

if (myTable.getText().contains("Time Stamp CWS Host CWS Worker ID Log Level Thread Name Proc Def Key Proc Inst ID Message")) {
if (myTable.getText().contains("Time Stamp\nCWS Host\nCWS Worker ID\nLog Level\nThread Name\nProc Def Key\nProc Inst ID\nMessage")) {
scriptPass = true;
log.info("All checkboxes were successfully checked.");
testCasesCompleted++;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ public void runStatusCompleteTest() throws IOException {
sleep(8000);

log.info("Locating Test Processes Page from table rows and verifying that it completed.");
waitForElementXPath("//div[@id=\'processes-table_filter\']/label/input");
waitForElementXPath("//input[@id=\'dt-search-0\']");

driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).click();
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys("test_snippets_page");
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys(Keys.ENTER);
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).click();
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys("test_snippets_page");
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys(Keys.ENTER);

waitForElementID("processes-table");
//selenium: check if "test_processes_page" is on the page
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,16 +118,16 @@ public void runSnippetsModelTest() throws IOException {
goToPage("processes");
sleep(8000);

waitForElementXPath("//div[@id=\'processes-table_filter\']/label/input");
waitForElementXPath("//input[@id=\'dt-search-0\']");

driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).click();
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys("test_snippets_page");
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys(Keys.ENTER);
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).click();
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys("test_snippets_page");
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys(Keys.ENTER);

waitForElementID("processes-table");

log.info("Clicking on Test Snippets Page history.");
WebElement historyButton = findElByXPath("//a[contains(text(),'History')]");
WebElement historyButton = findElByXPath("//button[contains(text(),'History')]");
waitForElement(historyButton);
scrollTo(historyButton);
historyButton.click();
Expand Down Expand Up @@ -160,7 +160,12 @@ public void runValidateButtonTest() {

waitForElementID("validateAndSaveSnippetsSubmitBtn");
log.info("Clicking on 'Validate and Save' button.");
driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn")).click();

WebElement validateAndSaveButton = driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", validateAndSaveButton);

validateAndSaveButton.click();

log.info("Verifying 'Saved the snippets' shows up on the page.");
if(findOnPage("Saved the snippets")) {
Expand Down Expand Up @@ -219,7 +224,12 @@ public void runUpdateSnippetTest() throws IOException {

waitForElementID("validateAndSaveSnippetsSubmitBtn");
log.info("Clicking on 'Validate and Save' button...");
driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn")).click();

WebElement validateAndSaveButton = driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn"));
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", validateAndSaveButton);
sleep(2000);

validateAndSaveButton.click();

log.info("Verifying 'Saved the snippets' shows up on the page.");
if(findOnPage("Saved the snippets")) {
Expand Down Expand Up @@ -255,7 +265,11 @@ public void runUpdateErrorTest() throws IOException {

waitForElementID("validateAndSaveSnippetsSubmitBtn");
log.info("Clicking on 'Validate and Save' button");
driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn")).click();

WebElement validateAndSaveButton = driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn"));
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", validateAndSaveButton);

validateAndSaveButton.click();

log.info("Looking for 'ERROR: invalid code.' on page.");
if(findOnPage("ERROR: invalid code.")) {
Expand Down Expand Up @@ -293,7 +307,11 @@ public void runReloadEditorTest() throws IOException {

waitForElementID("validateAndSaveSnippetsSubmitBtn");
log.info("Clicking on 'Validate and Save' button");
driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn")).click();

WebElement validateAndSaveButton = driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn"));
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", validateAndSaveButton);

validateAndSaveButton.click();

log.info("Looking for 'ERROR: invalid code.' on page.");
if(findOnPage("ERROR: invalid code.")) {
Expand All @@ -304,8 +322,13 @@ public void runReloadEditorTest() throws IOException {
driver.findElement(By.id("revertSnippetsSubmitBtn")).click();

waitForElementID("validateAndSaveSnippetsSubmitBtn");

validateAndSaveButton = driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn"));
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", validateAndSaveButton);
sleep(2000);

log.info("Clicking on 'Validate and Save' button");
driver.findElement(By.id("validateAndSaveSnippetsSubmitBtn")).click();
validateAndSaveButton.click();

log.info("Verifying 'Saved the snippets' shows up on the page.");
if(findOnPage("Saved the snippets")) {
Expand Down
41 changes: 29 additions & 12 deletions cws-test/src/test/java/jpl/cws/test/integration/ui/WebTestIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.openqa.selenium.JavascriptExecutor;

/**
*
* @author ghollins
Expand Down Expand Up @@ -207,16 +209,23 @@ public void runHelloWorldTest() {
sleep(1000);
log.info("Found a completed task.");

waitForElementXPath("//div[@id=\'processes-table_filter\']/label/input");
waitForElementXPath("//input[@id=\'dt-search-0\']");

WebElement filter = driver.findElement(By.xpath("//input[@id=\'dt-search-0\']"));

driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).click();
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys("test_hello_world");
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys(Keys.ENTER);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", filter);
// filter.click();

driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys("test_hello_world");
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys(Keys.ENTER);

waitForElementID("processes-table");

waitForElementXPath("//a[contains(text(),'History')]");
WebElement historyButton = driver.findElement(By.xpath("//a[contains(text(),'History')]"));
waitForElementXPath("//button[contains(text(),'History')]");
WebElement historyButton = driver.findElement(By.xpath("//button[contains(text(),'History')]"));
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", historyButton);

historyButton.click();
sleep(1000);

Expand Down Expand Up @@ -250,17 +259,25 @@ public void runGroovyTest() {
sleep(1000);
log.info("Found a completed task.");

waitForElementXPath("//div[@id=\'processes-table_filter\']/label/input");
waitForElementXPath("//input[@id=\'dt-search-0\']");

WebElement filter = driver.findElement(By.xpath("//input[@id=\'dt-search-0\']"));

driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).click();
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys("test_groovy_script");
driver.findElement(By.xpath("//div[@id=\'processes-table_filter\']/label/input")).sendKeys(Keys.ENTER);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", filter);

// filter.click();
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys("test_groovy_script");
driver.findElement(By.xpath("//input[@id=\'dt-search-0\']")).sendKeys(Keys.ENTER);

waitForElementID("processes-table");

waitForElementXPath("//a[contains(text(),'History')]");
WebElement historyButton = driver.findElement(By.xpath("//a[contains(text(),'History')]"));
waitForElementXPath("//button[contains(text(),'History')]");
WebElement historyButton = driver.findElement(By.xpath("//button[contains(text(),'History')]"));
js.executeScript("arguments[0].scrollIntoViewIfNeeded();", historyButton);

historyButton.click();

sleep(1000);

findOnPage("Groovy.");
Expand Down
Loading
Loading