From f8b064a9590c484f6d86bf03dcd3e2ff16a13eea Mon Sep 17 00:00:00 2001 From: sxprz Date: Thu, 13 Jul 2023 16:54:00 +0200 Subject: [PATCH 1/5] Impl Selenium test case for rerunning analysis UI --- scripts/test-gobview.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/scripts/test-gobview.py b/scripts/test-gobview.py index 0dc2cacaa4..cce0c8b1f8 100644 --- a/scripts/test-gobview.py +++ b/scripts/test-gobview.py @@ -5,6 +5,7 @@ from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By +from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options from threading import Thread import http.server @@ -62,6 +63,32 @@ class Server(socketserver.TCPServer): panel = browser.find_element(By.CLASS_NAME, "panel") print("found DOM elements main, sidebar-left, sidebar-right, content and panel") + # simulate work flow for analysis rerun + parameterViewTab = browser.find_element(By.ID, "nav-item-2") + parameterViewTab.click() + parameterView = browser.find_element(By.ID, "parameterview") + print("found DOM element parameterview") + inputBar = browser.find_element(By.CLASS_NAME, "input") + inputBar.clear() + invalidFeedback = browser.find_element(By.X_PATH, '//div[@class="invalid-tooltip"]') + + feedback = invalidFeedback.text + assert(feedback == "At least one parameter has to be entered") + print("found the feedback", feedback) + + parameter = '--incremental.force-reanalyze.funs ["main"]' + inputBar.send_keys(parameter) + inputBar.send_keys(Keys.ENTER) + + parameterChip = browser.find_element(By.X_PATH, '//span[@class="m-1 badge rounded-pill bg-secondary text"]') + textFromParameterChip = parameterChip.text + assert(parameterChip == parameter) + print("found the parameter chip in history", textFromParameterChip) + + # search for first tick symbol in history + executedSvg = browser.find_element(By.X_PATH, '//svg[@class="bi bi-check2"]') + print("found tick symbol in history indicating successful reanalysis") + cleanup(browser, httpd, thread) except Exception as e: From 1c07492ff91dddded7d3e198bae22081e04fccdc Mon Sep 17 00:00:00 2001 From: sxprz Date: Thu, 13 Jul 2023 16:54:00 +0200 Subject: [PATCH 2/5] Impl Selenium test case for rerunning analysis UI --- scripts/test-gobview.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/test-gobview.py b/scripts/test-gobview.py index cce0c8b1f8..ef5359235e 100644 --- a/scripts/test-gobview.py +++ b/scripts/test-gobview.py @@ -80,6 +80,9 @@ class Server(socketserver.TCPServer): inputBar.send_keys(parameter) inputBar.send_keys(Keys.ENTER) + # wait for ten seconds to let the analysis finish + browser.implicitly_wait(10) + parameterChip = browser.find_element(By.X_PATH, '//span[@class="m-1 badge rounded-pill bg-secondary text"]') textFromParameterChip = parameterChip.text assert(parameterChip == parameter) From 3398354f49523ab9dc9c855bd2765d14c57bb0d7 Mon Sep 17 00:00:00 2001 From: sxprz Date: Thu, 13 Jul 2023 19:55:57 +0200 Subject: [PATCH 3/5] Fix typo --- scripts/test-gobview.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test-gobview.py b/scripts/test-gobview.py index ef5359235e..d38c61a97e 100644 --- a/scripts/test-gobview.py +++ b/scripts/test-gobview.py @@ -29,7 +29,7 @@ class Handler(http.server.SimpleHTTPRequestHandler): def __init__(self, *args, **kwargs): super().__init__(*args, directory=DIRECTORY, **kwargs) class Server(socketserver.TCPServer): - allow_reuse_address = True # avoids that during a consecutive run the server cannot connect due to an 'Adress already in use' os error + allow_reuse_address = True # avoids that during a consecutive run the server cannot connect due to an 'Address already in use' os error httpd = Server((IP, PORT), Handler) print("serving at port", PORT) From 12d78b1c25dd22b3ac4f510a4cff1b25d20d0743 Mon Sep 17 00:00:00 2001 From: sxprz Date: Thu, 13 Jul 2023 21:53:07 +0200 Subject: [PATCH 4/5] Fix: X_PATH -> XPATH --- scripts/test-gobview.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/test-gobview.py b/scripts/test-gobview.py index d38c61a97e..e23c1ea2ca 100644 --- a/scripts/test-gobview.py +++ b/scripts/test-gobview.py @@ -70,7 +70,7 @@ class Server(socketserver.TCPServer): print("found DOM element parameterview") inputBar = browser.find_element(By.CLASS_NAME, "input") inputBar.clear() - invalidFeedback = browser.find_element(By.X_PATH, '//div[@class="invalid-tooltip"]') + invalidFeedback = browser.find_element(By.XPATH, '//div[@class="invalid-tooltip"]') feedback = invalidFeedback.text assert(feedback == "At least one parameter has to be entered") @@ -83,13 +83,13 @@ class Server(socketserver.TCPServer): # wait for ten seconds to let the analysis finish browser.implicitly_wait(10) - parameterChip = browser.find_element(By.X_PATH, '//span[@class="m-1 badge rounded-pill bg-secondary text"]') + parameterChip = browser.find_element(By.XPATH, '//span[@class="m-1 badge rounded-pill bg-secondary text"]') textFromParameterChip = parameterChip.text assert(parameterChip == parameter) print("found the parameter chip in history", textFromParameterChip) # search for first tick symbol in history - executedSvg = browser.find_element(By.X_PATH, '//svg[@class="bi bi-check2"]') + executedSvg = browser.find_element(By.XPATH, '//svg[@class="bi bi-check2"]') print("found tick symbol in history indicating successful reanalysis") cleanup(browser, httpd, thread) From 00e32ecc81fda9b9887ffb0f42ce33467d9f2c30 Mon Sep 17 00:00:00 2001 From: sxprz Date: Thu, 13 Jul 2023 22:03:43 +0200 Subject: [PATCH 5/5] Fix wrong equality check --- scripts/test-gobview.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test-gobview.py b/scripts/test-gobview.py index e23c1ea2ca..48bc5e1133 100644 --- a/scripts/test-gobview.py +++ b/scripts/test-gobview.py @@ -85,7 +85,7 @@ class Server(socketserver.TCPServer): parameterChip = browser.find_element(By.XPATH, '//span[@class="m-1 badge rounded-pill bg-secondary text"]') textFromParameterChip = parameterChip.text - assert(parameterChip == parameter) + assert(textFromParameterChip == parameter) print("found the parameter chip in history", textFromParameterChip) # search for first tick symbol in history