欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 09 web 自动化之 KDT 关键字驱动详解

09 web 自动化之 KDT 关键字驱动详解

2025/5/18 20:39:16 来源:https://blog.csdn.net/iOS_HC/article/details/147920820  浏览:    关键词:09 web 自动化之 KDT 关键字驱动详解

文章目录

      • 一、什么是关键字驱动?
        • 1、什么是关键字驱动?(以关键字函数驱动测试)
        • 2、项目业务实现转化为关键字函数?
        • 3、三种设计模式对比
      • 二、实战
        • 1、文件目录
        • 2、library.py 文件内容
        • 3、test_login.py 文件内容

一、什么是关键字驱动?

1、什么是关键字驱动?(以关键字函数驱动测试)

关键字驱动又叫动作字驱动,把项目业务封装成关键字函数,再基于关键字函数实现自动化测试

2、项目业务实现转化为关键字函数?
  • 覆盖项目业务 = 用例集合覆盖测试
  • 用例集合 = 一个一个用例实现覆盖测试
  • 覆盖用例 = 多个操作步骤组成=多个关键字函数
  • 操作步骤封装成对应的关键字函数
  • 比如:登录用例
    登录用例=多个操作步骤组成 基于每个操作步骤封装对应的关键字函数
    登录用例:
    1、打开浏览器 关键字函数 open_browser()
    2、加载项目地址 关键字函数 load_url()
    3、输入用户名 关键字函数 input()
    4、输入密码 关键字函数 input()
    5、点击登录 关键字函数 click()
3、三种设计模式对比
  • pom :把每个页面当做一个对象来进行编程 实现某个业务流程的测试=调用页面对象的一
    些属性及方法实现测试
  • 数据驱动:用外部数据驱动测试
  • 关键字驱动:所有业务流程封装成对应的函数 实现某个业务流程的测试 = 调用多个关键字
    方法,实现业务流程的测试 难点:封装什么样的关键字函数?

二、实战

1、文件目录

2、library.py 文件内容
from selenium import webdriver
class Library:# 登录用例 = 多个操作步骤组成 基于每个操作步骤封装对应的关键字函数# 登录用例:# 1、打开浏览器- 关键字函数- open_browser()# 2、加载项目地址- 关键字函数- load_url()# 3、输入用户名- 关键字函数- input()# 4、输入密码- 关键字函数- input()# 5、点击登录- 关键字函数- click()def open_browser(self,browser):# 传入的浏览器参数保持首字母大写browser = browser.capitalize()# 获取不同类型的浏览器驱动self.driver = getattr(webdriver, browser)()# 使用原来的方式-打开 Edge 浏览器# self.driver = webdriver.Edge()# 打开其他浏览器def load_url(self, url):self.driver.get(url)def locator(self, loc):return self.driver.find_element(*loc)def input(self, loc, text):# 获取元素el = self.locator(loc)# 输入el.send_keys(text)def click(self, loc):# 获取元素el = self.locator(loc)# 点击el.click()
3、test_login.py 文件内容
import time
import unittest
from selenium.webdriver.common.by import By
from TestKDT.keywords.library import Libraryclass TestCase01(unittest.TestCase):def test_login(self):"""基于关机子驱动 = 调用多个关键字函数登录用例:1、打开浏览器- 关键字函数- open_browser()2、加载项目地址- 关键字函数- load_url()3、输入用户名- 关键字函数- input()4、输入密码- 关键字函数- input()5、点击登录- 关键字函数- click():return:"""lib = Library()lib.open_browser('edge')lib.load_url(url='http://116.62.63.211/shop/user/logininfo.html')time.sleep(3)username = "hc_test"password = "hctest123"el_login = (By.XPATH, '//button[text()="登录"]')el_username = (By.NAME, "accounts")el_password = (By.XPATH, '//input[@type="password"]')lib.input(loc=el_username,text=username)lib.input(loc=el_password,text=password)lib.click(loc=el_login)# 关键字驱动自动化测试框架:只要维护 excel yaml 文件数据--后续更新

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词