580812942ea6dcf06d1cff08b4e3603b6facc638 gperez2 Wed May 29 12:35:39 2024 -0700 Copied Brian's session and saved it to the QAtester session account. Copied Brian's links and Gerardo's links to the genecats directory. Changed the links for the script. No redmine diff --git src/utils/qa/qaTestScript.py src/utils/qa/qaTestScript.py index 1242c4c..2c4631c 100755 --- src/utils/qa/qaTestScript.py +++ src/utils/qa/qaTestScript.py @@ -1,592 +1,594 @@ #!/usr/bin/env python3 # Program Header # Name: Gerardo Perez # Description: A program that runs Selenium in either headless mode or local mode (window popup) # to run test cases for a machine (hgwdev, hgwbeta, and the RR). # # qaTestScript.py # # # Development Environment: VIM - Vi IMproved version 7.4.629 # Version: Python 3.6.5 # # # To run local mode (window popup), you will need to install chromedriver locally. # Ex. /Users/gerardoperez/Downloads/chromedriver # You can download chromedriver from https://chromedriver.chromium.org/downloads # # IGNORE the following error notes: # For error # (The process started from chrome location # /hive/users/lrnassar/selenium/chrome/opt/google/chrome/google-chrome is no longer running, # so ChromeDriver is assuming that Chrome has crashed.) # import os # os.environ['TMPDIR'] = "/hive/users/lrnassar/selenium/chrom113/TMP" # ^IGNORE # Imports module from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import NoSuchElementException from selenium.common.exceptions import NoAlertPresentException import unittest, time, re, sys, argparse import getpass import os user = getpass.getuser() #Make tmpdir for the cron try: os.makedirs("/hive/users/"+user+"/selenium/chrom113/cron/TMP", exist_ok=True) except OSError as e: print(f"Error creating directory: {e}") os.environ['TMPDIR'] = "/hive/users/"+user+"/selenium/chrom113/cron/TMP" def initialize_driver(headless): """Initiates which webdriver to run for headless mode or local mode""" options = Options() if headless: options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument("--headless") options.add_argument('--disable-dev-shm-usage') options.add_argument("--start-maximized") options.add_argument("--window-size=1920,1080") options.binary_location = '/hive/users/lrnassar/selenium/chrom113/chromeInstall/opt/google/chrome/google-chrome' driver = webdriver.Chrome('/hive/users/lrnassar/selenium/chrom113/chromedriver', options = options) else: # Asks user for the WebDriver location webdriver_location = input("Enter the WebDriver location: ") driver = webdriver.Chrome(executable_path=webdriver_location) return driver # Creates the command-line argument parser parser = argparse.ArgumentParser(description='Selenium script with headless/local mode.') parser.add_argument('--headless', action='store_true', help='Activate headless mode') parser.add_argument('--machine', type=str, help='Specify the machine URL') # Parses the command-line arguments args = parser.parse_args() # Asks the user for the website URL if not provided as a command-line argument if not args.machine: args.machine = input("Enter the machine URL (Ex. https://hgwbeta.soe.ucsc.edu):") # Initializes the driver based on the chosen mode driver = initialize_driver(args.headless) # Loads the machine website machine= args.machine def cartReset(): """The function does a cart reset""" a = ActionChains(driver) #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) # 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() # Tests hg38 hgGene driver.get(machine + "/cgi-bin/hgTracks?db=hg38") driver.find_element_by_xpath("//td[@id='td_data_knownGene']/div[2]/map/area[5]").click() # Tests hg19 hgGene driver.get(machine + "/cgi-bin/hgTracks?db=hg19") driver.find_element_by_xpath("//td[@id='td_data_knownGene']/div[2]/map/area[5]").click() # Tests mm10 hgGene driver.get(machine + "/cgi-bin/hgTracks?db=mm10") driver.find_element_by_xpath("//td[@id='td_data_knownGene']/div[2]/map/area[5]").click() # Tests multi-region for hg38 cartReset() driver.get(machine + "/cgi-bin/hgTracks?db=hg38") driver.find_element_by_id("positionInput").clear() driver.find_element_by_id("positionInput").send_keys("chr7 192500 727300") driver.find_element_by_id("goButton").click() driver.find_element_by_name("hgTracksConfigMultiRegionPage").click() driver.find_element_by_xpath("(//input[@id='virtModeType'])[4]").click() driver.find_element_by_id("multiRegionsBedInput").send_keys("chr7 192570 260772 NM_020223.4\nchr7 290169 291488 NM_001374838.1\nchr7 497257 519846 NM_033023.5\nchr7 549197 727281 NM_001164760.2") driver.find_element_by_name("topSubmit").click() driver.find_element_by_xpath("//td[@id='td_data_ncbiRefSeqCurated']/div[2]/map/area").click() driver.find_element_by_xpath("//td[@id='td_data_ncbiRefSeqCurated']/div[2]/map/area[2]").click() # Tests hgGeneGraph driver.get(machine + "/cgi-bin/hgGeneGraph") driver.find_element_by_name("gene").clear() driver.find_element_by_name("gene").send_keys("sirt1") driver.find_element_by_name("1").click() driver.find_element_by_id("dropdownMenu1").click() driver.find_element_by_link_text("GNF2 Expression").click() driver.find_element_by_id("edge7").click() driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Gene interactions and pathways from curated databases and text-mining'])[1]/following::a[2]") cartReset() # Tests hgVai driver.get(machine + "/cgi-bin/hgVai?hgva_agreedToDisclaimer=1") driver.find_element_by_id("subDisclmAgrd").click() # Tests hgc/hgGene for hg38 driver.get(machine + "/cgi-bin/cartReset") driver.get(machine + "/cgi-bin/hgGateway?db=hg38") driver.get(machine + "/cgi-bin/hgGene?hgg_gene=ENST00000370314.9&hgg_chrom=chrX&hgg_start=152166233&hgg_end=152451315&hgg_type=knownGene&db=hg38") driver.find_element_by_link_text("Sequence and Links").click() driver.find_element_by_link_text("Genomic Sequence (chrX:152,166,234-152,451,315)").click() driver.find_element_by_name("submit").click() # Tests hub on canFam3 cartReset() driver.get(machine + "/cgi-bin/hgGateway?db=canFam3") driver.get(machine + "/cgi-bin/hgTracks?hubUrl=https://data.broadinstitute.org/vgb/dog/dog/hub.txt&genome=canFam3&position=lastDbPos") # Tests non-human/mouse (oviAri4) on Table Browser cartReset() driver.get(machine + "/cgi-bin/hgGateway?db=oviAri4") a = ActionChains(driver) # identify element m = driver.find_element_by_id("tools3") # hover over element a.move_to_element(m).perform() # identify sub menu element n = driver.find_element_by_id("tableBrowserMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_id("hgta_doSchema").click() driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/a").click() #schema page check driver.get(machine + "/cgi-bin/hgTables?db=oviAri4") driver.find_element_by_name("hgta_doSummaryStats").click() # Tests a session with custom tracks, multiRegion, and assembly hub cartReset() -driver.get(machine + "/cgi-bin/hgTracks?hgS_doOtherUser=submit&hgS_otherUserName=brianlee&hgS_otherUserSessionName=Custom_Tracks_AssemblyHub_MultiRegion_TrackCollection_BigWigs") +driver.get(machine + "/cgi-bin/hgTracks?hgS_doOtherUser=submit&hgS_otherUserName=QAtester&hgS_otherUserSessionName=Custom_Tracks_AssemblyHub_MultiRegion_TrackCollection_BigWigs") driver.find_element_by_xpath("//td[@id='td_data_ct_UserTrack_3545']/div[2]/map/area[4]").click() driver.find_element_by_link_text("chr1:33719895-33742564").click() # Tests a DNA search on hgTracks cartReset() driver.get(machine + "/cgi-bin/hgTracks?db=hg38&hideTracks=1") driver.get(machine + "/cgi-bin/hgTracks") driver.find_element_by_id("positionInput").clear() driver.find_element_by_id("positionInput").send_keys("GTATGTAGCCACGGAGCACCATTACCTGTCACCATTACCTGAATGGCTA") driver.find_element_by_name("goButton").click() driver.find_element_by_xpath("//a[contains(text(),'browser')]").click() # Tests custom tracks on hg19 driver.get(machine + "/cgi-bin/hgGateway?db=hg19") a = ActionChains(driver) #identify element m = driver.find_element_by_id("myData") ##hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("customTracksMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("hgct_customText").clear() -driver.find_element_by_name("hgct_customText").send_keys("https://hgwdev-gperez2.gi.ucsc.edu/~gperez2/testing/hgCustom_testing/examples.WITHOUT.FTPS.txt") +driver.find_element_by_name("hgct_customText").send_keys("https://genecats.gi.ucsc.edu/qa/customTracks/testing/examples.WITHOUT.FTPS.txt") driver.find_element_by_name("Submit").click() driver.find_element_by_name("submit").click() driver.find_element_by_id("p_btn_ct_hicExampleTWO_9382").click() driver.find_element_by_name("ct_hicExampleTWO_9382.color").click() # Tests hgCollection with custom tracks a = ActionChains(driver) #identify element m = driver.find_element_by_id("myData") ##hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("customCompositeMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Collected Tracks'])[1]/following::div[2]").click() driver.find_element_by_xpath("//input[@id='doNewCollection']").click() driver.find_element_by_xpath("//a[@id='ct_10WigglebedGraphfromzero_9682_anchor']/i").click() driver.find_element_by_xpath("//a[@id='ct_11wigglevariableStep_373_anchor']/i").click() driver.find_element_by_xpath("//a[@id='ct_12wigglefixedStep_4829_anchor']/i").click() driver.find_element_by_xpath("//a[@id='ct_15bigWigbedGraphfromzero_9486_anchor']/i").click() driver.find_element_by_xpath("//a[@id='ct_16bigWigvariableStep_4209_anchor']/i").click() driver.find_element_by_xpath("//a[@id='ct_18bigWigfixedSteplog_9103_anchor']/i").click() driver.find_element_by_id("goButton").click() time.sleep(5) # Tests small custom track to click into hgTrackUi cartReset() driver.get(machine + "/cgi-bin/hgGateway?db=hg19") a = ActionChains(driver) #identify element m = driver.find_element_by_id("myData") ##hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("customTracksMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("hgct_customText").clear() -driver.find_element_by_name("hgct_customText").send_keys("https://hgwdev.gi.ucsc.edu/~brianlee/examples/customTracks/newTypes.txt") +driver.find_element_by_name("hgct_customText").send_keys("https://genecats.gi.ucsc.edu/qa/customTracks/testing/newTypes.txt") driver.find_element_by_name("Submit").click() driver.find_element_by_name("submit").click() #if 'barChart Example One' in driver.page_source: # print("Add Custom Tracks") # click into hgTrackUi of customTrack driver.find_element_by_xpath("//td[@id='td_data_ct_barChartExampleOne_4976']/div[2]/map/area[29]").click() driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/p[2]/a").click() driver.find_element_by_xpath("//a[contains(text(),'Data schema/format description and download')]") driver.get(machine + "/cgi-bin/hgTracks") driver.find_element_by_xpath("//td[@id='td_data_ct_interactExample_4634']/div[2]/map/area[5]").click() driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/p[2]/a").click() driver.find_element_by_xpath("//a[contains(text(),'Data schema/format description and download')]") ## Tests chromAlias hg38 custom track cartReset() driver.get(machine + "/cgi-bin/hgGateway?db=hg38") a = ActionChains(driver) #identify element m = driver.find_element_by_id("myData") ##hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("customTracksMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("hgct_customText").clear() driver.find_element_by_name("hgct_customText").send_keys("https://hgwdev-gperez2.gi.ucsc.edu/~gperez2/testing/selenium/chrmAliasTestHg38_track") driver.find_element_by_name("Submit").click() driver.find_element_by_name("submit").click() # click into hgTrackUi of customTrack driver.find_element_by_xpath("//td[@id='td_data_ct_chrmAliasTestHg38_4656']/div[2]/map/area").click() driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/p/a").click() driver.find_element_by_xpath("//a[contains(text(),'Data schema/format description and download')]") # Tests mm10 ENCODE hub cartReset() driver.get(machine + "/cgi-bin/hgTracks?db=mm10&hideTracks=1") driver.get(machine + "/cgi-bin/hgGateway?db=mm10&hubUrl=https://www.encodeproject.org/experiments/ENCSR736GVO/@@hub/hub.txt") driver.get(machine + "/cgi-bin/hgHubConnect?#unlistedHubs") driver.find_element_by_link_text("Connected Hubs").click() driver.get(machine + "/cgi-bin/hgTracks") driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("chr12:56,694,976-56,714,605") driver.find_element_by_name("goButton").click() driver.find_element_by_name("hgt.out1").click() # Tests Public Hub search driver.get(machine + "/cgi-bin/hgHubConnect?hubSearchTerms=wuhCor1") driver.get(machine + "/cgi-bin/hgHubConnect?hubSearchTerms=methpipe") driver.get(machine + "/cgi-bin/hgHubConnect?hubSearchTerms=GCF") # Tests AssemblyHub search cartReset() driver.get(machine + "/cgi-bin/hgGateway?hubUrl=https://genome-test.gi.ucsc.edu/gbdb/hubs/genbank/vertebrate_mammalian/hub.ncbi.txt&genome=GCA_000493695.1_BalAcu1.0&position=lastDbPos") driver.get(machine + "/cgi-bin/hgTracks") driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("ATDI01079686") driver.find_element_by_name("goButton").click() time.sleep(2) # Tests HGVS searches cartReset() driver.get(machine + "/cgi-bin/hgTracks?db=hg38") driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("NM_000310.4(PPT1):c.271_287del17insTT") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_xpath("//td[@id='td_data_ncbiRefSeqCurated']/div[2]/map/area[9]").click() driver.get(machine + "/cgi-bin/hgTracks?db=hg38") driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("NM_007262.5(PARK7):c.-24+75_-24+92dup") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("NM_006172.4(NPPA):c.456_*1delAA") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("MYH11:c.503-14_503-12del") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("NM_198576.4(AGRN):c.1057C>T") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("NM_198056.3:c.1654G>T") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("NP_002993.1:p.Asp92Glu") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("NP_002993.1:p.D92E") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_name("hgt.positionInput").clear() driver.find_element_by_name("hgt.positionInput").send_keys("BRCA1 Ala744Cys") driver.find_element_by_id("goButton").click() time.sleep(2) driver.find_element_by_xpath("//td[@id='td_data_ncbiRefSeqCurated']/div[2]/map/area[3]").click() driver.get(machine + "/cgi-bin/hgTracks?db=hg38") driver.find_element_by_name("hgt.positionInput").clear() time.sleep(3) driver.find_element_by_name("hgt.positionInput").send_keys("NM_000828.5:c.-2G>A") driver.find_element_by_id("goButton").click() time.sleep(3) driver.find_element_by_name("hgt.positionInput").send_keys("chr18:g.55234435G>T") driver.find_element_by_id("goButton").click() time.sleep(3) driver.find_element_by_name("hgt.positionInput").send_keys("LRG_321:g.16409_16461del") driver.find_element_by_id("goButton").click() time.sleep(3) driver.find_element_by_name("hgt.positionInput").send_keys("chrX:g.31500000_31600000del") driver.find_element_by_id("goButton").click() time.sleep(3) # Tests hgBlat cartReset() driver.get(machine + "/cgi-bin/hgGateway?db=hg19") a = ActionChains(driver) #identify element m = driver.find_element_by_id("tools3") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("blatMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("userSeq").clear() driver.find_element_by_name("userSeq").send_keys("AACAAAATCAAACTGTTTTTGTTGGACAATTCTCTGTTAAGCAGCTATAA\\nGCTGAATGACATTAACCGCAAAATGTAACCATAAAGGCCATAAACCCGAC\\nATTGTTAATTAATTAAATGCCTCATTAACTTTTTTAAAAACATGATTTAT\\nTCGATTCATAGAAAACTTAACCATCACTACTAAATGCACACACATGCGGT\\nTCCACATTGGCATCTTAGCCTAAGAACAGACAGGTTCAACTGTAACTGGC\\nCTTTCAGGTGGTCTATTACAGATCTGAAGACAGAGGGTGTTTCTAAACCT\\nCAAGAACCAGATTAACAGAAAACAAAGCTTGAGCAGCCTTTTTATTGCAT\\nGTGGTATCTTTTTAGCTAAGCAGAAGACAATGATAAAGAGGGGTTTTGGG\\nAAACCTCTCCCAAAGCTGTGCATTCATACCGTACCTTATCCTGTTAAGCA\\nAACTGTTCTTTTATTTTAAAGGGTTTACACTGCCACATCTGAATGGACTA") driver.find_element_by_name("Submit").click() time.sleep(3) driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/div[2]/pre/a").click() driver.find_element_by_xpath("//td[@id='td_data_hgUserPsl']/div[2]/map/area").click() time.sleep(3) driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/a").click() time.sleep(3) driver.get(machine + "/cgi-bin/hgGateway?db=hg38") # Tests hgBlat for alt patch sequence driver.get(machine + "/cgi-bin/hgGateway?db=hg38") a = ActionChains(driver) #identify element m = driver.find_element_by_id("tools3") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("blatMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("userSeq").clear() driver.find_element_by_name("userSeq").send_keys("CACACTGTGGATGACATCCAGCAGATCGCTGCTGCGCTGGCCCAGTGCATGGTAGGATGGCCCCACATGCTCTCCCCGCCCCGCATGCCTGCCAGGGTACTGGGTTCAGCCCCCCAGGGCAGACGGGCAGCTTGGCCGAGGAGCTGAGCCTCCAGCCTGGGC") driver.find_element_by_name("Submit").click() time.sleep(3) driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/div[2]/pre/a").click() time.sleep(3) driver.find_element_by_xpath("//td[@id='td_data_altSeqLiftOverPsl']/div[2]/map/area[3]").click() time.sleep(3) driver.find_element_by_link_text("Show chr16_KI270853v1_alt placed on its chromosome").click() time.sleep(3) # Tests hgBlat for fix patch sequence cartReset() driver.get(machine + "/cgi-bin/hgGateway?db=hg38") a = ActionChains(driver) #identify element m = driver.find_element_by_id("tools3") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("blatMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("userSeq").clear() driver.find_element_by_name("userSeq").send_keys("GTTTTTTCTCCTATGGCATGCAGGCGACATGTTACTTCCTATTCCCATAAACCCTCCACTGTAGGATTAACACCTAAGACACCAACCAAGACAAAAAAGATATGACCCTTGGT") driver.find_element_by_name("Submit").click() time.sleep(3) driver.find_element_by_xpath("//div[@id='firstSection']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/div[2]/pre/a").click() time.sleep(3) driver.find_element_by_xpath("//td[@id='td_data_fixSeqLiftOverPsl']/div[2]/map/area[3]").click() driver.find_element_by_link_text("Show chr1_MU273333v1_fix placed on its chromosome").click() time.sleep(3) # Tests hgPcr for hg38 driver.get(machine + "/cgi-bin/hgGateway?db=hg38") a = ActionChains(driver) #identify element m = driver.find_element_by_id("tools3") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("ispMenuLink") # hover over element and click a.move_to_element(n).click().perform() 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") a = ActionChains(driver) #identify element m = driver.find_element_by_id("view") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("convertMenuLink") # hover over element and click a.move_to_element(n).click().perform() 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() # Tests hgLiftOver for mm39 cartReset() driver.get(machine + "/cgi-bin/hgTracks?db=mm39") a = ActionChains(driver) #identify element m = driver.find_element_by_id("tools3") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("liftOverMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("hglft_userData").clear() driver.find_element_by_name("hglft_userData").send_keys("chr11:101,379,590-101,442,705") driver.find_element_by_name("Submit").click() time.sleep(3) driver.find_element_by_link_text("View Conversions") # Tests hgPcr target Genes Track (data changes with data pushes) cartReset() driver.get(machine + "/cgi-bin/hgTracks?db=hg38&hideTracks=1") driver.get(machine + "/cgi-bin/hgGateway?db=hg38&wp_target=hg38KgSeqV41") #will be hg38KgSeqV41 a = ActionChains(driver) #identify element m = driver.find_element_by_id("tools3") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("ispMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_name("wp_f").clear() driver.find_element_by_name("wp_f").clear() driver.find_element_by_name("wp_f").send_keys("TTTTCCTAATAATGCTTGTCTTGGTCTTGTT") driver.find_element_by_name("wp_r").clear() driver.find_element_by_name("wp_r").send_keys("ACACACACAGAAAGACACACACAGACACAAAA") driver.find_element_by_name("wp_flipReverse").click() driver.find_element_by_name("wp_append").click() driver.find_element_by_name("wp_size").clear() driver.find_element_by_name("wp_size").send_keys("40000") select = Select(driver.find_element_by_name("wp_target")) select.select_by_visible_text("GENCODE Genes") driver.find_element_by_name("Submit").click() driver.find_element_by_link_text("ENST00000611156.4__ABO:90+1305").click() time.sleep(3) driver.find_element_by_xpath("//td[@id='td_data_hgPcrResult']/div[2]/map/area[2]").click() cartReset() # Tests GenArk Rabbit Hub #cartReset() driver.get(machine + "/cgi-bin/hgTracks?hubUrl=https://hgdownload.soe.ucsc.edu/hubs/GCF/000/003/625/GCF_000003625.3/hub.txt&genome=GCF_000003625.3") driver.get(machine + "/cgi-bin/hgTracks?hideTracks=1") driver.find_element_by_id("positionInput").clear() driver.find_element_by_id("positionInput").send_keys("HOPX") driver.find_element_by_id("goButton").click() time.sleep(3) driver.find_element_by_link_text("HOPX").click() # Tests Assembly Hubs at GitHub cartReset() driver.get(machine + "/cgi-bin/hgTracks?genome=daph&hubUrl=https://raw.githubusercontent.com/ucsc-browser/assemblyHubEx/master/Daphnia/hubExamples/hubAssembly/daph/hub.txt&position=scaffold_1%3A35591-35626") driver.get(machine + "/cgi-bin/hgTracks") time.sleep(3) driver.find_element_by_id("positionInput").clear() driver.find_element_by_id("positionInput").send_keys("scaffold_3:1,888,907-1,888,948") driver.find_element_by_id("goButton").click() time.sleep(3) # Tests track hub annotation if it is on the RR if 'hub_129603_daph scaffold_3' in driver.page_source: driver.find_element_by_xpath("//td[@id='td_data_hub_129603_myTrack']/div[2]/map/area").click() else: driver.find_element_by_xpath("//td[@id='td_data_hub_6872_myTrack']/div[2]/map/area").click() # Tests Mega Hub US cartReset() -driver.get(machine + "/cgi-bin/hgTracks?db=hg19&measureTiming=1&hubUrl=https://hgwdev.gi.ucsc.edu/~brianlee/hubTesting/manyMulitWigsENCODE/hub.txt") +driver.get(machine + "/cgi-bin/hgTracks?db=hg19&measureTiming=1&hubUrl=https://genecats.gi.ucsc.edu/qa/hubTesting/exampleHubManyMulit/hub.txt") 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_336627' in driver.page_source: - driver.find_element_by_xpath("//td[@id='td_data_hub_336627_multiWig4']/div[2]/map/area").click() +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_9717_multiWig4']/div[2]/map/area").click() + driver.find_element_by_xpath("//td[@id='td_data_hub_37972_multiWig4']/div[2]/map/area").click() # Tests hgBlat All and Monk Seal/Human MYLK Protein cartReset() driver.get(machine + "/cgi-bin/hgGateway?db=hg19") a = ActionChains(driver) #identify element m = driver.find_element_by_id("tools3") #hover over element a.move_to_element(m).perform() #identify sub menu element n = driver.find_element_by_id("blatMenuLink") # hover over element and click a.move_to_element(n).click().perform() driver.find_element_by_id("searchAllText").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 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.close()