diff --git a/functional-test/src/test/groovy/org/rundeck/tests/functional/selenium/jobs/LogViewerOutputSpec.groovy b/functional-test/src/test/groovy/org/rundeck/tests/functional/selenium/jobs/LogViewerOutputSpec.groovy index a2536a87bb8..9ac7291db46 100644 --- a/functional-test/src/test/groovy/org/rundeck/tests/functional/selenium/jobs/LogViewerOutputSpec.groovy +++ b/functional-test/src/test/groovy/org/rundeck/tests/functional/selenium/jobs/LogViewerOutputSpec.groovy @@ -113,7 +113,6 @@ class LogViewerOutputSpec extends SeleniumBase{ def projectHomePage = page HomePage def jobShowPage = page JobShowPage def executionShowPage = page ExecutionShowPage - executionShowPage.setLoadPath("/execution/show/1?maxLogSize=5000000") when: "We run the job to have multiple lines in log output" loginPage.go() @@ -124,6 +123,8 @@ class LogViewerOutputSpec extends SeleniumBase{ jobShowPage.goToJob("1f0306cd-e123-44f3-8977-9e52edad8ce8") jobShowPage.getRunJobBtn().click() executionShowPage.validateStatus 'SUCCEEDED' + String executionId = executionShowPage.getCurrentExecutionId() + executionShowPage.setLoadPath("/project/${longOutPutProjectName}/execution/show/${executionId}?maxLogSize=5000000") executionShowPage.go() executionShowPage.getLink 'Log Output' click() def showWarningMessage = jobShowPage.waitForElementVisible(By.xpath("//div[contains(@class, 'execution-log__line')]")).isDisplayed() diff --git a/functional-test/src/test/groovy/org/rundeck/util/gui/pages/execution/ExecutionShowPage.groovy b/functional-test/src/test/groovy/org/rundeck/util/gui/pages/execution/ExecutionShowPage.groovy index d2f8c4cbd1e..af4e82d2828 100644 --- a/functional-test/src/test/groovy/org/rundeck/util/gui/pages/execution/ExecutionShowPage.groovy +++ b/functional-test/src/test/groovy/org/rundeck/util/gui/pages/execution/ExecutionShowPage.groovy @@ -46,6 +46,7 @@ class ExecutionShowPage extends BasePage { static final By logContentTextOverflowBy = By.cssSelector(".execution-log__content-text.execution-log__content-text--overflow") static final By gutterLineNumberBy = By.cssSelector(".gutter.line-number") By runAgainLink = By.linkText("Run Again") + By executionIdBy = By.cssSelector(".flex-item-1.text-right") ExecutionShowPage(final SeleniumContext context) { super(context) @@ -252,4 +253,12 @@ class ExecutionShowPage extends BasePage { def validateStatus(String status) { waitForElementAttributeToChange executionStateDisplayLabel, 'data-execstate', status } + + /** + * Gets the execution id shown in the UI and removes the "*" from the element text + * @return String executionId + */ + String getCurrentExecutionId(){ + (el executionIdBy).getText().replace("#", "") + } }