【Python Web自动化】06_01关键字模型介绍与运用

上一章节咱们使用了数据驱动模型。接下来咱们使用一种 “关键字” 的模型,进行自动化测试的思想的构建。python

关键字简单来讲就是,把咱们的执行操做每个关键步骤当成一个关键字来对待,用来驱动程序的设计开发。例如:进行web自动化咱们的首要是打开浏览器,是的 “打开浏览器” 咱们就能够做为一个关键字来对待它,关键字就是来驱动咱们程序设计的关键步骤。git

例如:以咱们的注册页面的自动化测试为例,分解出来主要的关键字有:打开浏览器、输入注册页url、输入(用户名、邮箱、密码、验证码)、点击(注册按钮)、等待页面加载、关闭浏览器。根据这些关键字,咱们即可以开发设计咱们的自动化程序了。github

GitHub代码commits id:446d09eweb


#!/bin/usr/env python3
# -*- coding: utf-8 -*-
# --------------------------------
# ProjectName: 
# Author: Crisimple
# CreateTime: 2019/6/24 9:29
# FileName: action_method.py
# Description: 定义 key_word.xls中的方法
# Question: 
# --------------------------------

from code_package.util.read_excel import ReadExcel
from selenium import webdriver
from code_package.base.find_element import FindElement
import time

class ActionMethod(object):

    def __init__(self):
        pass

    def open_browser(self, browser):
        if browser == "chrome":
            self.driver = webdriver.Chrome("../tools/chromedriver.exe")
        elif browser == "firefox":
            self.driver = webdriver.Firefox("../tools/")
        else:
            self.driver = webdriver.Edge("../tools/msedgedriver.exe")

    # 输入地址
    def get_url(self, url):
        self.driver.get(url=url)

    # 定位元素
    def get_element(self, key):
        find_element = FindElement(self.driver)
        element = find_element.get_element(key=key)
        return element

    # 输入元素
    def elemet_send_key(self, value, key):
        element = self.get_element(key)
        element.send_keys(value)

    # 点击元素
    def click_element(self, key):
        self.get_element(key=key).click()

    # 等待
    def time_sleep(self):
        time.sleep(3)

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

    def get_title(self, *args):
        title = self.driver.title
        return title