Exemple #1
0
class RegisterUser_test(LiveServerTestCase):

    def setUp(self):
        self.sel = WebDriver()

    def tearDown(self):
        self.sel.quit()

    def testRegister(self):
        self.doReg(self)

    @staticmethod
    def doReg(self):
        self.sel.get(self.live_server_url)
        signUp = WebDriverWait(self.sel, 2).until(
                EC.element_to_be_clickable((By.ID, "signUp")))
        # signUp = self.sel.find_element_by_id('signUp')
        signUp.click()

        self.sel.save_screenshot("register01.png")

        emailBox = self.sel.find_element_by_id('email')
        firstNameBox = self.sel.find_element_by_id('name')
        lastNameBox = self.sel.find_element_by_id('username')
        passwordBox = self.sel.find_element_by_id('password')
        passwordConfirmBox = self.sel.find_element_by_id('password_c')
        submitBtn = self.sel.find_element_by_id('regUserSubmit')

        emailBox.send_keys('*****@*****.**')
        firstNameBox.send_keys('John')
        lastNameBox.send_keys('Doe')
        passwordBox.send_keys('pw')
        passwordConfirmBox.send_keys('pw')
        self.sel.save_screenshot("register02.png")
        submitBtn.click()

        #self.sel.save_screenshot("IHaveTo.png")
        try:

            dropData = WebDriverWait(self.sel, 2).until(
                    EC.visibility_of_element_located((By.ID, 'dropData')))
            self.sel.save_screenshot("register03.png")
            dropData.click()
            logout = WebDriverWait(self.sel, 2).until(
                EC.element_to_be_clickable((By.ID, 'navLogout')))
            AppFuncs.doLogout(self)
        except:
            AppFuncs.doLogout(self)
            self.assertTrue(
                False,
                'Reg failed. Unable to find logout element.')
Exemple #2
0
def get_hotel(driver: WebDriver, city: str, n: int) -> None:
    driver.get('%s/%s/p%d' % (ROOT_URL, city, n))

    driver.implicitly_wait(1)

    hotel_list = driver.find_element_by_id('hotel_list')
    hotels = hotel_list.find_elements_by_class_name('searchresult_list')
    for hotel in hotels:
        hid = str(hotel.get_attribute('id'))
        if not re.match(r'^\d+$', hid):
            continue
        name = driver.find_element_by_xpath('//*[@id="%s"]/ul/li[2]/h2/a' %
                                            hid).get_attribute('title')
        try:
            points = hotel.find_element_by_class_name('hotel_value').text
        except Exception:
            continue
        start_price = hotel.find_element_by_class_name('J_price_lowList').text
        about_points = hotel.find_element_by_class_name('hotel_judgement').text
        points_count = RE_COMMENT.search(about_points).group()
        logging.info('%s\n%s\n%s\n%s\n%s\n%s\n%s\n' %
                     (city, hid, name, n, points, start_price, points_count))
        if Hotel.objects.filter(hid=hid).count() == 0:
            Hotel.objects.create(city=city,
                                 hid=hid,
                                 name=name,
                                 page=n,
                                 points=points,
                                 start_price=start_price,
                                 points_count=points_count)
    def test_that_home_view_shows_devices_grid(self):
        url = '%s%s' % (self.live_server_url, reverse('devices'))
        driver = WebDriver()
        driver.get(url)

        waiter = WebDriverWait(driver, WEBDRIVER_MAX_TIMEOUT)
        waiter.until(EC.presence_of_all_elements_located((By.CLASS_NAME, 'device')))

        device_grid = driver.find_element_by_id('device-grid')
        devices = device_grid.find_elements_by_class_name('device')
        self.assertEqual(len(MOCK_DEVICES), len(devices))

        for device in MOCK_DEVICES:
            self.assertIn(device.ip_address, device_grid.text)
            self.assertIn(device.mac_address, device_grid.text)
from selenium.webdriver.support import expected_conditions as EC  # available since 2.26.0
from selenium.webdriver.phantomjs.webdriver import WebDriver

# Create a new instance of the Firefox driver
driver = WebDriver(
    executable_path='/opt/phantomjs-2.1.1-linux-x86_64/bin/phantomjs',
    port=5001)

# go to the google home page
driver.get("http://www.baidu.com")

# the page is ajaxy so the title is originally this:
print(driver.title)

# find the element that's name attribute is q (the google search box)
inputElement = driver.find_element_by_id("kw")

# type in the search
inputElement.send_keys("cheese!")

# submit the form (although google automatically searches now without submitting)
inputElement.submit()

try:
    # we have to wait for the page to refresh, the last thing that seems to be updated is the title
    WebDriverWait(driver, 10).until(EC.title_contains("cheese!"))

    # You should see "cheese! - Google Search"
    print(driver.title)
    print(driver.get_cookies())
Exemple #5
0
class CreateEventHandler_test(LiveServerTestCase):

    def setUp(self):
        self.sel = WebDriver()

        # Create a user and an org
        self.user = UserData.createUser('a', 'b','c@1', 'pw')
        theOrg = OrgData.createOrg("theOrg")
        self.user.org = theOrg
        self.user.save()
        self.user = UserData.createUser('d', 'e','f@1', 'pw')
        self.user.org = theOrg
        self.user.save()


    def tearDown(self):
        self.sel.quit()

    def testCreateEventHandler(self):
        self.doCreateEventHandler(self)

    @staticmethod
    def doCreateEventHandler(self):
        AppFuncs.doLogin(self, self.user.email, 'pw')
        self.sel.save_screenshot("log6.png")


        dropData = WebDriverWait(self.sel, 2).until(
                    EC.visibility_of_element_located((By.ID, 'eventDrop')))
        self.sel.save_screenshot("createHandler01.png")
        dropData.click()
        toHandler = WebDriverWait(self.sel, 2).until(
                EC.element_to_be_clickable((By.ID, "CreateEventHandler")))
        self.sel.save_screenshot("createHandler02.png")
        toHandler.click()
        createHandler = WebDriverWait(self.sel, 2).until(
                EC.element_to_be_clickable((By.ID, "createNewHandler")))
        self.sel.save_screenshot("createHandler03.png")
        createHandler.click()
        # try:
        userSelect = Select(WebDriverWait(self.sel, 2).until(
                                    EC.visibility_of_element_located((By.ID, 'userSelector'))))
        # userSelect.select_by_value("a b")
        # this should be "a b", I am not sure my the method above does not work.
        userSelect.select_by_index(1)

        handlerTitle = self.sel.find_element_by_id('titleIn')
        timeAck = self.sel.find_element_by_id('timeForAck')
        handlerTitle.send_keys('testHandler')
        timeAck.send_keys('256')

        addNew = self.sel.find_element_by_id('addUser')
        self.sel.save_screenshot("createHandler04.png")
        addNew.click()


        handlerCreateBtn = WebDriverWait(self.sel, 2).until(
                EC.element_to_be_clickable((By.ID, "createHierarchy")))
        self.sel.save_screenshot("createHandler05.png")
        handlerCreateBtn.click()

        successful = WebDriverWait(self.sel, 2).until(
                    EC.visibility_of_element_located((By.ID, 'eventHandlerCreateSuccess')))
        self.sel.save_screenshot("createHandler06.png")
        # except:
        #     dropData = WebDriverWait(self.sel, 2).until(
        #                         EC.visibility_of_element_located((By.ID, 'dropData')))
        #     dropData.click()
        #     AppFuncs.doLogout(self)
        #     self.assertTrue(False, "Cannot find another user or cannot create handler.")

        dropData = WebDriverWait(self.sel, 2).until(
                                EC.visibility_of_element_located((By.ID, 'dropData')))
        dropData.click()
        self.sel.save_screenshot("log5.png")
        AppFuncs.doLogout(self)
Exemple #6
0
class AddContactMethod_test(LiveServerTestCase):

    def setUp(self):
        self.sel = WebDriver()

        # Create a user
        self.user = UserData.createUser('firstName', 'lastName',
                                        '*****@*****.**', 'pw')

    def tearDown(self):
        self.sel.quit()

    def testCreateContactMethod(self):
        self.doCreateContactMethod(self)

    @staticmethod
    def doCreateContactMethod(self):
        AppFuncs.doLogin(self, self.user.email, 'pw')
        settingsBtn = self.sel.find_element_by_id('settings')
        settingsBtn.click()
        self.sel.save_screenshot("createContact01.png")
        try:
            #self.sel.save_screenshot("createContact02.png")
            createBox = WebDriverWait(self.sel, 2).until(
                EC.visibility_of_element_located((By.ID, 'createNewBtn')))
            createNew = self.sel.find_element_by_id('createNewBtn')
            createNew.click()
            try:
                self.sel.save_screenshot("createContact02.png")
                createBox = WebDriverWait(self.sel, 2).until(
                    EC.visibility_of_element_located((By.ID, 'contactType')))
                dropdown = Select(self.sel.find_element_by_id("contactType"))
                dropdown.select_by_value("sms")

                contactData = self.sel.find_element_by_id('contactData')
                contactTitle = self.sel.find_element_by_id('title')
                contactPriority = self.sel.find_element_by_id('priority')
                submitBtn = self.sel.find_element_by_id('submitBtnCreate')

                contactData.send_keys('6262516801')
                contactTitle.send_keys('cell')
                contactPriority.send_keys('1')
                self.sel.save_screenshot("createContact03.png")
                submitBtn.click()
                self.sel.save_screenshot("logS.png")
                dropData = WebDriverWait(self.sel, 2).until(
                                    EC.visibility_of_element_located((By.ID, 'dropData')))
                dropData.click()
                self.sel.save_screenshot("createContact04.png")

                settingsBtn = self.sel.find_element_by_id('settings')
                settingsBtn.click()

                try:
                    contactConfirm = WebDriverWait(self.sel, 2).until(
                                        EC.visibility_of_element_located((By.ID, 'contact1')))
                    self.sel.save_screenshot("createContact05.png")
                    dropData = WebDriverWait(self.sel, 2).until(
                                    EC.visibility_of_element_located((By.ID, 'dropData')))
                    dropData.click()
                    AppFuncs.doLogout(self)
                except:
                    dropData = WebDriverWait(self.sel, 2).until(
                                    EC.visibility_of_element_located((By.ID, 'dropData')))
                    dropData.click()
                    AppFuncs.doLogout(self)
                    self.assertTrue(False, 'Could not find created contact method.')

            except:
                dropData = WebDriverWait(self.sel, 2).until(
                                    EC.visibility_of_element_located((By.ID, 'dropData')))
                dropData.click()
                AppFuncs.doLogout(self)
                self.assertTrue(False, 'Could not get into create new contact page')
        except:
            dropData = WebDriverWait(self.sel, 2).until(
                                EC.visibility_of_element_located((By.ID, 'dropData')))
            dropData.click()
            AppFuncs.doLogout(self)
            self.assertTrue(False, 'Could not get into settings page')
Exemple #7
0
class CreateOrg_test(LiveServerTestCase):

    def setUp(self):
        self.sel = WebDriver()

        # Create a user
        self.user = UserData.createUser('firstName', 'lastName',
                                        '*****@*****.**', 'pw')

    def tearDown(self):
        self.sel.quit()

    def testCreateOrg(self):
        self.doCreateOrg(self)

    @staticmethod
    def doCreateOrg(self):
        AppFuncs.doLogin(self, self.user.email, 'pw')
        # print 'logged in'
        settingBtn = self.sel.find_element_by_id('settings')
        self.sel.save_screenshot("createOrg01.png")
        settingBtn.click()
        #self.sel.save_screenshot("log7.png")
        createNewOrgBtn = WebDriverWait(self.sel, 2).until(
                    EC.visibility_of_element_located((By.ID, 'createNewOrg')))
        self.sel.save_screenshot("createOrg02.png")
        createNewOrgBtn.click()
        try:
            # print 'waiting for org box'
            orgBox = WebDriverWait(self.sel, 2).until(
                EC.visibility_of_element_located((By.ID, 'inputOrgName')))
            # print 'got org box'
            
            submitOrgBtn = self.sel.find_element_by_id('submitAssociate')

            # print 'enter keys'
            orgBox.send_keys('org1')
            self.sel.save_screenshot("createOrg03.png")
            submitOrgBtn.click()
            try:
                org = WebDriverWait(self.sel, 2).until(
                    EC.text_to_be_present_in_element((By.ID, 'userOrgName'), 'org1'))
                self.sel.save_screenshot("createOrg04.png")
                dropData = WebDriverWait(self.sel, 2).until(
                                EC.visibility_of_element_located((By.ID, 'dropData')))
                dropData.click()
                AppFuncs.doLogout(self)
                # print 'logout done'
            except:
                # problem can arise here
                AppFuncs.doLogout(self)
                self.assertTrue(
                    False,
                    'Unable to associate org.')
        except:
            dropData = WebDriverWait(self.sel, 2).until(
                                EC.visibility_of_element_located((By.ID, 'dropData')))
            dropData.click()
            AppFuncs.doLogout(self)
            self.assertTrue(
                False,
                'Cannnot find orgName Button.')
Exemple #8
0
class RealAssociate_test(LiveServerTestCase):

    def setUp(self):
        self.sel = WebDriver()

        # Create a user and an org
        self.user = UserData.createUser('firstName', 'lastName','*****@*****.**', 'pw')
        OrgData.createOrg("theOrg")

    def tearDown(self):
        self.sel.quit()

    def testAssociateOrg(self):
        self.doRealAssociate(self)

    @staticmethod
    def doRealAssociate(self):
        AppFuncs.doLogin(self, self.user.email, 'pw')
        #self.sel.save_screenshot("log5.png")

        associateOrgBtn = self.sel.find_element_by_id('associateBu')
        self.sel.save_screenshot("associate01.png")
        associateOrgBtn.click()
        try:
            # self.sel.save_screenshot("log5.png")
            orgBox = WebDriverWait(self.sel, 20).until(
                EC.visibility_of_element_located((By.ID, 'inputOrgName')))
            submitOrgBtn = self.sel.find_element_by_id('submitAssociate')

            orgBox.send_keys('theOrg')
            self.sel.save_screenshot("associate02.png")
            submitOrgBtn.click()
            try:
                org = WebDriverWait(self.sel, 20).until(
                    EC.text_to_be_present_in_element((By.ID, 'userOrgName'), 'theOrg'))

                try:
                    self.sel.save_screenshot("associate03.png")
                    dropData = WebDriverWait(self.sel, 2).until(
                                EC.visibility_of_element_located((By.ID, 'dropData')))
                    dropData.click()
                    logout = WebDriverWait(self.sel, 20).until(
                                EC.element_to_be_clickable((By.ID, 'navLogout')))
                    self.sel.save_screenshot("associate04.png")
                    AppFuncs.doLogout(self)
                    # self.sel.save_screenshot("log7.png")
                except:
                    self.assertTrue(
                        False,
                        'Login failed. Unable to find logout element.')
            except:
                dropData = WebDriverWait(self.sel, 2).until(
                                EC.visibility_of_element_located((By.ID, 'dropData')))
                dropData.click()
                AppFuncs.doLogout(self)
                self.assertTrue(
                    False,
                    'Unable to associate org.')
        except:
            dropData = WebDriverWait(self.sel, 2).until(
                                EC.visibility_of_element_located((By.ID, 'dropData')))
            dropData.click()
            AppFuncs.doLogout(self)
            self.assertTrue(
                False,
                'Cannnot find orgName Button.')