• 通过函数封装实现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()
  • 相关阅读:
    本地连不上远程mysql数据库(2)
    linux后台执行命令:&和nohup
    uva 10806 Dijkstra, Dijkstra. (最小费最大流)
    VS2013带来的"新特性"
    HDOJ 5091 Beam Cannon 扫描线
    2014百度之星资格赛4题
    二维码登陆
    安装Sublime配合quick-cocos2d-x开发
    J2SE核心开发实战(二)——字符串与包装类
    LeetCode_3Sum Closest
  • 原文地址:https://www.cnblogs.com/c-jw/p/13806681.html
Copyright © 2020-2023  润新知