def select_by_visible_text(self, visible_text): """This method is here only to act as a shortcut so that a spider author can write a single line of code to select an option in a list rather than two lines of code. Perhaps not a huge saving by every little bit helps. As an aside, feels like this is the way the select functionality should have been implemented anyway.""" select = selenium.webdriver.support.select.Select(self) select.select_by_visible_text(visible_text)
def filtrar_gravidade(self, valor): self.clicar(self.BTN_REDEFINIR) self.clicar(self.ANCORA_GRAVIDADE) select = Select(self.get_elemento(self.SELECT_GRAVIDADE)) select.select_by_visible_text(valor) self.clicar(self.BTN_FILTRAR) tabelasStatus = self.get_elementos(self.GRAVIDADE_TD) del tabelasStatus[0] return tabelasStatus
def filtrar_estado(self, valor): self.clicar(self.BTN_REDEFINIR) self.clicar(self.ANCORA_ESTADO) select = Select(self.get_elemento(self.SELECT_ESTADO)) select.select_by_visible_text(valor) self.clicar(self.BTN_FILTRAR) tabelasStatus = self.get_elementos(self.ESTADO_TD) del tabelasStatus[0] return tabelasStatus
def create_experiment(self, expName, startAge, endAge, startHght, endHght, startWght, endWght, genders, races, ethnicities, locations): try: self.driver.find_element_by_link_text('Create Experiment').click() self.driver.find_element_by_id('ExperimentName').send_keys(expName) select = Select(self.driver.find_element_by_id('ageRangeStart')) select.select_by_visible_text(startAge) select = Select(self.driver.find_element_by_id('ageRangeEnd')) select.select_by_visible_text(endAge) select = Select(self.driver.find_element_by_id('heightRangeBegin')) select.select_by_visible_text(startHght) select = Select(self.driver.find_element_by_id('heightRangeEnd')) select.select_by_visible_text(endHght) select = Select(self.driver.find_element_by_id('weightRangeBegin')) select.select_by_visible_text(startWght) select = Select(self.driver.find_element_by_id('weightRangeEnd')) select.select_by_visible_text(endWght) if 'male' in genders: self.driver.find_element_by_css_selector('label[for="gendersMale"]').click() if 'female' in genders: self.driver.find_element_by_css_selector('label[for="gendersFemale"]').click() if 'american_indian' in races: self.driver.find_element_by_css_selector('label[for="raceAmericanIndian"]').click() if 'asian' in races: self.driver.find_element_by_css_selector('label[for="raceAsian"]').click() if 'black' in races: self.driver.find_element_by_css_selector('label[for="raceBalck"]').click() if 'hawaiian' in races: self.driver.find_element_by_css_selector('label[for="raceHawaiian"]').click() if 'white' in races: self.driver.find_element_by_css_selector('label[for="raceWhite"]').click() if 'other' in races: self.driver.find_element_by_css_selector('label[for="raceOther"]').click() if 'non_hispanic' in ethnicities: self.driver.find_element_by_css_selector('label[for="ethnicityNonHispanic"]').click() if 'hispanic' in ethnicities: self.driver.find_element_by_css_selector('label[for="ethnicityHispanic"]').click() for location in locations: self.driver.find_element_by_css_selector('label[for="location{}"]'.format(location)).click() self.driver.find_element_by_css_selector('input[type="submit"]').click() except Exception as e: print('Generated exception: ', e) return False return True
def select_country(self, country): select = Select(self.driver.find_element(*self.country_select)) select.select_by_visible_text(country)
def iOS(device_group, test_runName): driver = webdriver.Chrome('../files/chromedriver.exe') wait = WebDriverWait(driver, 30) wait2 = WebDriverWait(driver, 1800) driver.maximize_window() driver.get('https://cloud.testdroid.com') driver.implicitly_wait(90) wait.until(EC.visibility_of_element_located((By.ID, "login-email"))) driver.find_element_by_id('login-email').send_keys('*****@*****.**') driver.find_element_by_id('login-password').send_keys('bitbar@123') driver.find_element_by_id('login-submit').click() wait.until( EC.presence_of_element_located((By.XPATH, "//a[text()='iOS Test']"))) driver.find_element_by_xpath("//a[text()='iOS Test']").click() wait.until( EC.visibility_of_element_located( (By.XPATH, "//div[@title='Create new test run']"))) driver.find_element_by_xpath("//div[@title='Create new test run']").click() wait.until( EC.visibility_of_element_located( (By.XPATH, "//button[contains(text(),'Click to choose or upload file')]"))) time.sleep(4) driver.find_element_by_xpath( "//button[contains(text(),'Click to choose or upload file')]").click() time.sleep(5) try: driver.find_element_by_xpath("//span[text()='match.apk']").click() driver.find_element_by_xpath("//a[text()=' Delete']").click() time.sleep(2) driver.find_element_by_xpath("//button[text()='Yes']").click() time.sleep(10) except: print "ipa file not present" try: driver.find_element_by_xpath("//span[text()='tests.zip']").click() driver.find_element_by_xpath("//a[text()=' Delete']").click() time.sleep(2) driver.find_element_by_xpath( "(//h3[text()='Delete file'])[2]/../..//button[text()='Yes']" ).click() time.sleep(10) except: print "zip file not present" driver.find_element_by_xpath("//input[@type='file']").send_keys( PATH('../match.apk')) wait.until( EC.presence_of_element_located( (By.XPATH, "//button[contains(text(),'Upload file')]"))) driver.find_element_by_xpath("//input[@type='file']").send_keys( PATH('../tests.zip')) wait.until( EC.presence_of_element_located( (By.XPATH, "//button[contains(text(),'Upload file')]"))) print 'process completed level 1' wait.until( EC.visibility_of_element_located( (By.XPATH, "//span[text()='match.apk']"))) driver.find_element_by_xpath("//span[text()='match.apk']").click() time.sleep(3) action = ActionChains(driver) action.key_down(Keys.CONTROL).perform() wait.until( EC.visibility_of_element_located( (By.XPATH, "//span[text()='tests.zip']"))) driver.find_element_by_xpath("//span[text()='tests.zip']").click() action.key_up(Keys.CONTROL).perform() time.sleep(3) driver.find_element_by_xpath("//button[text()='Use selected']").click() time.sleep(5) print 'process completed level 2' select = Select( driver.find_element_by_xpath( "//b[text()='Use existing device group']/..//select")) select.select_by_visible_text(device_group) wait.until( EC.visibility_of_element_located( (By.XPATH, "//div[contains(text(),'Click here to expand')]"))) driver.find_element_by_xpath( "//div[contains(text(),'Click here to expand')]").click() wait.until( EC.visibility_of_element_located( (By.XPATH, "//input[@placeholder='Test Run X']"))) time.sleep(2) driver.find_element_by_xpath("//input[@placeholder='Test Run X']").clear() time.sleep(1) driver.find_element_by_xpath( "//input[@placeholder='Test Run X']").send_keys(test_runName) wait.until( EC.visibility_of_element_located( (By.XPATH, "//button[text()='Create new test run']"))) driver.find_element_by_xpath( "//button[text()='Create new test run']").click() wait2.until( EC.visibility_of_element_located( (By.XPATH, "//div[text()='FINISHED']")))