From 52a48ee228b31c5a9cd6fadabf19b654661abcfb Mon Sep 17 00:00:00 2001 From: Nico Schedel Date: Tue, 21 Jan 2020 14:02:46 +0100 Subject: [PATCH] TT#70901 selenium: workaround for failing wait statements - check status of loading screen twice to see if element is clickable. the loading circle dissapears and reappears again, which can misslead the script into thinking "the loading is done" when its not. Change-Id: I51c1712a8c9ae7f5a5f073becc0a2e4a09ff7f03 --- t/selenium/testrun.py | 120 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/t/selenium/testrun.py b/t/selenium/testrun.py index 28a873af..67751fa3 100644 --- a/t/selenium/testrun.py +++ b/t/selenium/testrun.py @@ -314,6 +314,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '//*[@id="q-app"]//div[@class="q-item-"]/button[2]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -347,6 +351,10 @@ class testrun(unittest.TestCase): '//div[@class="q-popover animate-scale"]//div[contains(text(),' ' "Add Voicemail")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -368,6 +376,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button/' 'span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -380,6 +392,10 @@ class testrun(unittest.TestCase): '//div[@class="q-popover animate-scale"]//div[contains(text(),' ' "Add Voicemail")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -435,6 +451,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '//*[@id="q-app"]//div[@class="q-item-"]/button').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -455,6 +475,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-source-form"]/button[2]' ).click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -505,6 +529,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button' '/span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -536,6 +564,10 @@ class testrun(unittest.TestCase): '/html/body/div[@class="q-popover animate-scale"]/div/div[1]' ).click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -558,6 +590,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '/html/body//div[@class="modal-buttons row"]/button[2]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -592,6 +628,10 @@ class testrun(unittest.TestCase): '//*[@id="main-menu"]//div[@class="q-item-label"]' '[contains(text(), "Always")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -625,6 +665,10 @@ class testrun(unittest.TestCase): '//div[@class="q-popover animate-scale"]//div[contains(text(),' ' "Add Voicemail")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -646,6 +690,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button/' 'span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -658,6 +706,10 @@ class testrun(unittest.TestCase): '//div[@class="q-popover animate-scale"]//div[contains(text(),' ' "Add Voicemail")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -681,6 +733,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button/' 'span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -693,6 +749,10 @@ class testrun(unittest.TestCase): '//div[@class="q-popover animate-scale"]//div[contains(text(),' ' "Add Voicemail")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -756,6 +816,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '//*[@id="q-app"]//div[@class="q-item-"]/button').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -776,6 +840,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-source-form"]/button[2]' ).click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -826,6 +894,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button' '/span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -857,6 +929,10 @@ class testrun(unittest.TestCase): '/html/body/div[@class="q-popover animate-scale"]/div/div[1]' ).click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -879,6 +955,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '/html/body//div[@class="modal-buttons row"]/button[2]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -950,6 +1030,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '//*[@id="q-app"]//div[@class="q-item-"]/button[2]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -971,6 +1055,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button' '/span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -983,6 +1071,10 @@ class testrun(unittest.TestCase): '//div[@class="q-popover animate-scale"]//div[contains(text(),' ' "Add Voicemail")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -1004,6 +1096,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button/' 'span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -1016,6 +1112,10 @@ class testrun(unittest.TestCase): '//div[@class="q-popover animate-scale"]//div[contains(text(),' ' "Add Voicemail")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -1071,6 +1171,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '//*[@id="q-app"]//div[@class="q-item-"]/button').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -1091,6 +1195,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-source-form"]/button[2]' ).click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -1141,6 +1249,10 @@ class testrun(unittest.TestCase): '//*[@id="q-app"]//div[@class="add-destination-form"]//button' '/span[contains(text(), "Save")]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -1172,6 +1284,10 @@ class testrun(unittest.TestCase): '/html/body/div[@class="q-popover animate-scale"]/div/div[1]' ).click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' @@ -1194,6 +1310,10 @@ class testrun(unittest.TestCase): driver.find_element_by_xpath( '/html/body//div[@class="modal-buttons row"]/button[2]').click() driver.implicitly_wait(2) + WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( + By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' + 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat ' + 'text-white"]'))) WebDriverWait(driver, 10).until(EC.invisibility_of_element_located(( By.XPATH, '//div[@class="q-loading animate-fade fullscreen column ' 'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat '