Beispiel #1
0
 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
Beispiel #4
0
 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
Beispiel #5
0
 def select_country(self, country):
     select = Select(self.driver.find_element(*self.country_select))
     select.select_by_visible_text(country)
Beispiel #6
0
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']")))