Esempio n. 1
0
def screenshot(picture_file):
    '''
    browser screenshots
    :param picture_file: picture file
    :return:None
    '''
    DR.get_screenshot_as_file(picture_file)
Esempio n. 2
0
def highlightElement(element):
    '''
    highlight the found element
    :param driver:browser driver
    :param element:element on the browser
    :return:None
    '''
    DR.execute_script("arguments[0].setAttribute('style',arguments[1]);",
                      element, "background:green; border:2px solid red")
Esempio n. 3
0
    def executeSuite(self):
        '''
        execution test suite
        :return:0
        '''

        try:
            self.setDiscover()
            self.setReportPath()
            if os.path.exists(self.report_file):
                os.remove(self.report_file)

            with open(self.report_file, 'wb') as fb:
                runner = HTMLTestRunner.HTMLTestRunner(
                    stream=fb,
                    title=self.report_title,
                    description=self.report_description)
                runner.run(self.discover)
        except Exception as e:
            traceback.print_exc()
            logger.error(e)
        finally:
            DR.quit()
Esempio n. 4
0
    def login(self,user,pwd,targetAddress = None):
        DR.get(LOGIN_ADDRESS)
        login_url = DR.current_url
        
        userText = HtmlText(selector1=['css_selector', 'div.input-wrapper:nth-child(3) > input:nth-child(2)'])
        userText.setText(user)

        pwdText = HtmlText(selector1=['css_selector', 'div.input-wrapper:nth-child(4) > input:nth-child(2)'])
        pwdText.setText(pwd)

        try:
            verificationCodeText = HtmlText(selector1=['css_selector','div.input-wrapper:nth-child(6) > input:nth-child(1)'])
            verificationCodeText.setText('11111')
        except:
            pass

        loginBtn = HtmlButton(selector1=['css_selector','.el-button'])
        loginBtn.clickBtn()

        for i in range(30):
            if DR.current_url == login_url:
                logger.info('logging in ,wait pls')
                sleep(0.5)
            else:
                logger.info('successful login ')
                break

        if targetAddress:
            for i in range(3):

                if DR.current_url == targetAddress:
                    logger.info('login to the homepage %s success '%(targetAddress))
                    return True
                else:
                    sleep(2)
            logger.error('login to the homepage failed')
            return False
Esempio n. 5
0
    def __find_elements(self, selector):
        '''
        private method:
        :param selector:key-value list
        :return:element
        '''

        key = selector[0]
        value = selector[1]
        elements = None

        if key in [
                'xpath', 'link_text', 'class_name', 'id', 'css_selector',
                'name', 'partial_link_text', 'tag_name'
        ]:
            if key == 'xpath':
                elements = DR.find_elements_by_xpath(value)
            elif key == 'link_text':
                elements = DR.find_elements_by_link_text(value)
            elif key == 'class_name':
                elements = DR.find_elements_by_class_name(value)
            elif key == 'id':
                elements = DR.find_elements_by_id(value)
            elif key == 'css_selector':
                elements = DR.find_elements_by_css_selector(value)
            elif key == 'name':
                elements = DR.find_elements_by_name(value)
            elif key == 'partial_link_text':
                elements = DR.find_elements_by_partial_link_text(value)
            elif key == 'tag_name':
                elements = DR.find_elements_by_tag_name(value)

            if elements:
                return elements
            else:
                logger.error('fialed to find elements on the current page')
                return None
        else:
            logger.error('invalid key')
            return None
Esempio n. 6
0
 def get_page(self,url):
     DR.get(url)
Esempio n. 7
0
 def initBrowser(self):
     logger.mark('initBrowser START')
     DR.get(LOGIN_ADDRESS)
     logger.mark('initBrowser END')
Esempio n. 8
0
        loginBtn = HtmlButton(selector1=['css_selector','.el-button'])
        loginBtn.clickBtn()

        for i in range(30):
            if DR.current_url == login_url:
                logger.info('logging in ,wait pls')
                sleep(0.5)
            else:
                logger.info('successful login ')
                break

        if targetAddress:
            for i in range(3):

                if DR.current_url == targetAddress:
                    logger.info('login to the homepage %s success '%(targetAddress))
                    return True
                else:
                    sleep(2)
            logger.error('login to the homepage failed')
            return False
            # raise Exception('login to the homepage failed')

if __name__ == '__main__':
    DR.get('http://192.168.0.93:81')
    LoginPage().login('su','11')
    DR.quit()