845001c015716a49a2f316b8b349eef37a7b1e9d gperez2 Mon Mar 23 09:30:48 2026 -0700 Fixed qaTestScript ActionChains hang, updated two element selectors to match current UI, and increase HAL hub timeout, No RM diff --git src/utils/qa/qaTestScript.py src/utils/qa/qaTestScript.py index 9499102c40b..57191b5e465 100755 --- src/utils/qa/qaTestScript.py +++ src/utils/qa/qaTestScript.py @@ -117,32 +117,35 @@ #identify element m = driver.find_element(By.LINK_TEXT, "Genome Browser") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element(By.LINK_TEXT, "Reset All User Settings") # hover over element and click a.move_to_element(n).click().perform() driver.implicitly_wait(2) def hover_and_click(driver, main_id, submenu_id): """Function that hovers the blue bar menu and clicks a menu item""" action = ActionChains(driver) main = driver.find_element(By.ID, main_id) action.move_to_element(main).perform() + WebDriverWait(driver, 10).until( + EC.visibility_of_element_located((By.ID, submenu_id))) + action2 = ActionChains(driver) submenu = driver.find_element(By.ID, submenu_id) - action.move_to_element(submenu).click().perform() + action2.move_to_element(submenu).click().perform() # Tests the Gateway page and home page driver.get(machine + "/cgi-bin/hgGateway") driver.get(machine + "/index.html") driver.find_element(By.LINK_TEXT, "Home").click() driver.find_element(By.LINK_TEXT, "Genomes").click() driver.get(machine + "/cgi-bin/hgGateway") driver.find_element(By.XPATH, "//div[@id='selectSpeciesSection']/div[2]/div[2]/div[2]/div").click() # Tests mm39 hgTracks driver.get(machine + "/cgi-bin/hgTracks?db=mm39") cartReset() @@ -454,31 +457,31 @@ driver.find_element(By.NAME, "wp_f").clear() driver.find_element(By.NAME, "wp_f").send_keys("AACAAAATCAAACTGTTTTTGTTGGACAATTCTCTGTTAAGCAGCTATAA") driver.find_element(By.NAME, "wp_r").clear() driver.find_element(By.NAME, "wp_r").send_keys("AACTGTTCTTTTATTTTAAAGGGTTTACACTGCCACATCTGAATGGACTA") driver.find_element(By.NAME, "wp_flipReverse").click() driver.find_element(By.NAME, "Submit").click() time.sleep(3) driver.find_element(By.LINK_TEXT, "chrX:40059679+40060178").click() time.sleep(3) # Tests hgConvert driver.get(machine + "/cgi-bin/hgTracks") hover_and_click(driver, "view", "convertMenuLink") driver.find_element(By.NAME, "hglft_doConvert").click() driver.find_element(By.LINK_TEXT, "chrX:39460925-39461424").click() -driver.find_element(By.CSS_SELECTOR, "#tools3 > span").click() +driver.find_element(By.CSS_SELECTOR, "#tools3 > button").click() # Tests hgLiftOver cartReset() time.sleep(3) action = ActionChains(driver) # Hovers over the Tools menu to trigger dropdown menu = WebDriverWait(driver, 10).until( EC.visibility_of_element_located((By.ID, "tools3")) ) action.move_to_element(menu).perform() # Waits until at least one link in the Tools menu is present WebDriverWait(driver, 10).until( @@ -560,38 +563,40 @@ driver.get(machine + "/cgi-bin/hgTracks") driver.find_element(By.ID, "positionInput").clear() driver.find_element(By.ID, "positionInput").send_keys("chr10:69,644,427-69,678,147") driver.find_element(By.ID, "goButton").click() time.sleep(3) # Tests track hub annotation if it is on the RR if 'hub_5137468' in driver.page_source: driver.find_element(By.XPATH, "//td[@id='td_data_hub_5137468_multiWig4']/div[2]/map/area").click() elif 'hub_24302' in driver.page_source: driver.find_element(By.XPATH, "//td[@id='td_data_hub_24302_multiWig4']/div[2]/map/area").click() else: driver.find_element(By.XPATH, "//td[@id='td_data_hub_37972_multiWig4']/div[2]/map/area").click() # Tests hub with HAL tracks driver.get(machine + "/cgi-bin/cartReset") +driver.set_page_load_timeout(300) driver.get(machine + "/cgi-bin/hgTracks?hubUrl=https://genecats.gi.ucsc.edu/qa/hubTesting/CICHLID2023/myHub/hub.txt&genome=hub_68124_Anc0&position=lastDbPos") +driver.set_page_load_timeout(120) driver.get(machine + "/cgi-bin/hgTracks") driver.find_element(By.ID, "positionInput").clear() # Tests hgBlat All and Monk Seal/Human MYLK Protein driver.get(machine + "/cgi-bin/cartReset") driver.get(machine + "/cgi-bin/hgGateway?db=hg19") hover_and_click(driver, "tools3", "blatMenuLink") -driver.find_element(By.ID, "searchAllText").click() +driver.find_element(By.ID, "allGenomes").click() driver.find_element(By.NAME, "userSeq").clear() driver.find_element(By.NAME, "userSeq").send_keys("MIPDTDLQVQLASRNRVGECSCQVSLMLQSSPGRAPLRGREPVSCEGLCS\\nQGAGAHGAGGDCYGTLRPGWPARGQGWPEEEDGEDVRGLLKRRVETRQHT\\nEEAIRQQEVEQLDFRDLLGKKVSTKTVSEEDLKEIPAEQMDFRANLQRQV\\nKPKTVSEEERKVHSPQQVDFRSVLAKKGTPKTPVPEKAPLPKPATPDFRS\\nVLGSKKKLPAENGSNNAEALNAKAAESPKAVSNAQPLGSLKPLGNAKPAE\\nTLRPVGNAKPAEPTKPVDNTKLAETLKPIGNAKPAETPKPMGNA") driver.find_element(By.NAME, "Submit").click() driver.find_element(By.ID, "res0").click() time.sleep(3) # Tests hgFind.matches cart variable driver.get(machine + "/cgi-bin/cartReset") driver.get(machine + "/cgi-bin/hgTracks?position=chr2:25,485,759-25,487,667&ignoreCookie=1&db=hg19&hgFind.matches=this&filterAlign=pack") driver.find_element(By.ID, "goButton").click() # Closes the current window on which Selenium is running driver.quit() sys.exit()