zoukankan      html  css  js  c++  java
  • 通过函数封装实现POM设计思想

    from selenium import webdriver
    from time import sleep
    '''
    常规操作:
        1、启动浏览器
        2、访问Url
        3、元素定位
        4、输入
        5.点击
        6.退出
    '''
    def open_browser(browser_type):
        driver = getattr(webdriver, browser_type)()
        return driver
    class TestUtils:
        #   构造函数
        def __init__(self,browser_type):
            self.driver = open_browser(browser_type)
        #   访问指定url
        def visit(self,url):
            self.driver.get(url)
        #   元素定位
        def locator(self,name,value):
            return self.driver.find_element(name,value)
        #   元素输入
        def loc_input(self,name,value,txt):
            self.locator(name,value).send_keys(txt)
        #   元素的点击
        def loc_click(self,name,value):
            self.locator(name,value).click()
        #关闭浏览器
        def quit(self):
            sleep(3)
            self.driver.quit()
        #
    
    
    
    
        #   元素定位,常用8种方法
        # def locator(self,loc_type,loc):
        #     if  loc_type =='name':
        #         return self.driver.find_element_by_name(loc)
        #     elif    loc_type =='id':
        #         return  self.driver.find_element_by_id(loc)
        #     elif    loc_type =='xpath':
        #         return self.driver.find_element_by_xpath(loc)
        #     elif    loc_type == 'linktext':
        #         return self.driver.find_element_by_linktext(loc)
        #     else:
        #         print('元素定位错误!,请重新定位元素')
        # #   元素定位2
    
    
    

    调用测试:

    from webdemo.TestUtils import TestUtils
    #   创建关键字驱动类对象
    bp = TestUtils('Chrome')
    bp.visit('https://www.baidu.com')
    bp.loc_input('id','kw','云视讯')
    bp.loc_click('id','su')
    bp.quit()
  • 相关阅读:
    Matlab 图像处理中出现纯黑或纯白是怎么回事?
    网页中的公式在翻译时如何被保留下来?
    请勿 fAKe 评论
    C++ STL 使用注意事项整理
    APIO 2020 题解
    谈谈对题解本质的理解
    点双 & 边双连通图计数的细节比较
    联合省选 2021 A 卷 题解
    指数生成函数(EGF)计数小记
    UOJ-37 清华集训2014 主旋律
  • 原文地址:https://www.cnblogs.com/c-jw/p/13806681.html
Copyright © 2011-2022 走看看