# -*- coding: utf-8 -*-
# @Time : 2021/10/30 22:36
# @Author : Jane
# @Software: PyCharm

# 导入包
from time import sleep
from selenium import webdriver

'''
[★] 关键字驱动
    [1] 关键字驱动是自动化测试技术体系下非常核心的技术点。
    [2] 在框架的形态下,要降低代码冗余,考虑代码的复用性。
    [3] 封装的行为就是关键字驱动的核心。
    
[★] Selenium常用关键字
    [1] 元素定位
    [2] 输入
    [3] 点击
    [4] 访问url
    [5] 强制等待
    [6] 关闭浏览器
'''



# 通过再次对操作进行封装达到通用的目的
class Key:

    # 目的在于对类进行实例化时就实例化浏览器对象
    def __init__(self, type):
        self.driver = self.open_browser(type)

    # 打开浏览器:通过传入的type(浏览器类型)启动浏览器
    def open_browser(self, type):
        # 适合新手的代码
        # if type == 'Chrome':
        #     driver = webdriver.Chrome()
        # elif type == 'Firefox':
        #     driver = webdriver.Firefox()
        # elif type == 'Ie'
        #     driver = webdriver.Ie()
        # elif type == 'Opera':
        #     driver = webdriver.Opera()
        # elif type == 'Edge':
        #     driver = webdriver.Edge()

        # 老手的代码
        try:
            # Python的放射机制,
            driver = getattr(webdriver, type)()
        except Exception as e:
            print(e)
            driver = webdriver.Chrome()
        return driver

    # 定位元素
    def locator(self, name, value):
        return self.driver.find_element(name, value)

    # 点击元素
    def click(self, name, value):
        self.locator(name, value).click()

    # 输入文本
    def input(self, name, value, txt):
        self.locator(name, value).send_keys(txt)

    # 访问url
    def open(self, url):
        self.driver.get(url)

    # 强制等待
    def sleep(self, time):
        sleep(time)

    # 关闭浏览器
    def quit(self):
        self.driver.quit()


if __name__ == '__main__':
    # 创建Key实例化对象
    key = Key('Chrome')
    # 打开浏览器访问url
    key.open('http://baidu.com')
    # 通过id定位搜索框并输入搜索内容
    key.input('name', 'wd', '我要学习Selenium自动化测试')
    # 通过id定位搜索按钮并点击搜索
    key.click('id', 'su')
    # 强制等待3秒
    key.sleep(3)
    # 退出浏览器
    key.quit()

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐