首页 > 我的课程 > 功能的自动化测试(GUI、接口)

课程适合人群:

  • 软件自动化测试工程师
  • 本课程重点解答&解决:
  • 掌握单元测试框架
  • 学习自动化测试理念
  • 介绍自动化测试中的测试数据
  • 学习基于GUI的自动化测试技术——Selenium
  • 学习基于GUI的自动化测试技术——Playwright
  • 学习基于GUI的自动化测试技术——Cypress
  • 学习基于GUI的自动化测试高级技巧
  • 学习接口自动化测试
  • 本课程亮点+核心价值介绍:
  • 详细介绍单元测试框
  • 详细介绍自动化测试中的测试数据
  • 接口测试增加接口安全测试
  • 课长:
  •  7-9天
  • Selenium、Cypress、Playwright可以二选一
  •   
  •   
  •   
  •   
  •   
  • 大纲内容

    1.单元测试框架
            1.1 unittest测试框架  
                    1.1.1 计算器示例
                    1.1.2 unittest装饰器
                    1.1.3 断言机制
                    1.1.4 使用parameterized.expand实现参数化
                    1.1.5 使用Allure生成美观的Pytest测试报告
                    1.1.6 在Jenkins中配置Allure unittest测试报告
            1.2 Pytest测试框架 
                    1.2.1 Pytest 简介 
                    1.2.2 Pytest安装 
                    1.2.3 第一个Pytest程序 
                    1.2.4 Pytest装饰器 
                    1.2.5 Pytest常用命令行选项 
                    1.2.6 Pytest实现并发测试 
                    1.2.7 Pytest特有的参数化功能 
                    1.2.8 使用Allure生成美观的Pytest测试报告 
                    1.2.9 在Jenkins中配置Allure Pytest测试报告  
    2 软件测试自动化测试方法和实践
            2.1测试自动化的内涵
            2.2测试自动化的基本结构
            2.3测试自动化的原理和方法
            2.4基于脚本的自动化测试
            2.5自动化测试流程
            2.6测试自动化普遍存在的问题
            2.7什么类型的功能测试应该采用自动化方法
            2.8如何处理复杂业务流程的自动化测试
            2.9如何准备自动化功能测试数据
            2.10 什么原因导致无法识别对象
            2.11如何在运行过程中防止程序中断
            2.12自动测试的选择(案例讨论)
            2.13自动化测试的持续集成对软件测试的重大价值
            2.14自动化测试与回归测试的集成对软件测试的重大价值
    3 自动化测试工具、质量度量
            3.1测试工具的分类和选择
            3.2测试工具的主流产品介绍
            3.3自动测试的选择
            3.4自动化工具原理
            3.5存在的问题分析
            3.6软件产品的质量度量
            3.7评估系统自动化测试的覆盖程度
            3.8自动化测试缺陷分析方法
    4自动化测试数据准备
            4.1测试数据的创建方法
            4.2测试数据的创建时机
            4.3从测试数据1. 到3. 
    5 基于WEB的自动化测试技术
            5.1 Python数据参数化
                    5.1.1 unittest测试框架数据参数化
                    5.1.2 Pytest测试框架数据参数化
                    5.1.3 从外部文件读取测试数据
            5.2 元素定位技术详解
                    5.2.1 CSS选择器(Selector
                    5.2.2 XPath定位技术
    6.走进Selenium
            6.1 Selenium介绍及其历史演变
                    6.1.1 Selenium 概述 
                    6.1.2 Selenium核心组件 
                    6.1.3 Selenium发展历程 
            6.2 Selenium的安装 
                    6.2.1 Selenium .X对浏览器的支持 
                    6.2.2 建立动态浏览器选择的配置 
                    6.2.3 Option常用属性及方法 
            6.3 元素定位API 
                    6.3.1 通过id定位API 
                    6.3.2 通过name定位API 
                    6.3.3 通过Class Name定位API
                    6.3.4 通过Tag Name定位API
                    6.3.5 通过link文字精确定位API
                    6.3.6 通过link文字模糊定位API
                    6.3.7 通过CSS Selector定位API
                    6.3.8 通过XPath定位API
                    6.3.9 定位多个元素API
                    6.3.10  相对定位(Relational Locators)API 
                    6.3.11 链式调用(Chaining)API
                    6.3.12 通过JavaScript定位API
                    6.3.13 自定义定位策略API
                    6.3.14 定位Shadow DOM API
                    6.3.15 通过多个属性组合来定位
                    6.3.16 定位元素建议
                    6.3.17 定位工具  
            6.4 元素操作API  
                    6.4.1 浏览器操作API  
                    6.4.2 文本框操作API 
                    6.4.3 键盘操作API 
                    6.4.4 鼠标操作API 
                    6.4.5 点击操作API 
                    6.4.6 触摸屏操作API   
                    6.4.7 获取HTML属性API  
                    6.4.8 等待API  
                    6.4.9 iframe、标签页和窗口API  
                    6.4.1  控件操作API 
                    6.4.11 Cookie操作API  
                    6.4.12 文件操作API 
                    6.4.13 其他操作API 
            6.5 Selenium断言API 
                    6.5.1 通过属性值进行断言API 
                    6.5.2 通过页面标题断言API
                    6.5.3 通过页面当前URL断言API 
                    6.5.4 通过元素状态断言API 
    7.深入Selenium高级应用 
            7.1 Selenium Grid 
                    7.1.1 什么是Selenium Grid? 
                    7.1.2 为什么需要使用Selenium Grid? 
                    7.1.3 Selenium Grid的架构(Hub和Node) 
                    7.1.4 Selenium Grid的使用模式 
                    7.1.5 普通环境下Grid的部署 
                    7.1.6 Docker环境下Grid的部署方案 
            7.2 数据驱动 
                    7.2.1 测试用例 
                    7.2.2 测试脚本 
            7.3 代码的封装 
                    7.3.1 POM和FOM 
                    7.3.2 目录结构 
                    7.3.3 封装最基本的方法(basepage) 
                    7.3.4 测试数据及封装获取测试数据方法(data) 
                    7.3.5 pageobject封装页面和业务流方法(pageobject) 
                    7.3.6 测试程序(test) 
            7.4 测试程序的自愈 
                    7.4.1 Selenium在Java环境下运行 
                    7.4.2 healenium 
                    7.4.3 Recheck 
            7.5 利用Applitools Eyes识别视觉bug  
            7.6 Airtest 
                    7.6.1 Airtest的安装 
                    7.6.2 Airtest示例 
                    7.6.3 关键语句介绍 
            7.7 与Jenkins集成 
    8.走进Playwright 
            8.1 Playwright介绍 
                    8.1.1 序言 
                    8.1.2 Playwright核心特性  
                    8.1.3 高效稳定的执行能力  
                    8.1.4 强大的自动化功能 
            8.2 Playwright的安装 
            8.3 playwright命令 
                    8.3.1 语法 
                    8.3.2 参数说明 
            8.4 playwright设置 
                    8.4.1 忽略HTTPS错误 
                    8.4.2 设置自定义窗口大小 
                    8.4.3 模拟手机浏览器 
            8.5 录制Playwright语句 
                    8.5.1 开始录制 
                    8.5.2 同步和异步代码 
                    8.5.3 录制脚本优化 
            8.6 playwright格式和运行 
                    8.6.1 Playwright语句格式 
                    8.6.2 运行方式 
            8.7 playwright元素定位 
                    8.7.1 playwright定位元素API 
                    8.7.2 playwright高级定位元素机制  
                    8.7.3 playwright定位元素表达式  
            8.8 元素操作  
                    8.8.1 浏览器操作API  
                    8.8.2 文本框操作API  
                    8.8.3 表单操作API 
                    8.8.4 获取HTML属性API 
                    8.8.5 鼠标操作API 
                    8.8.6 键盘操作API 
                    8.8.7 等待API 
                    8.8.8 iframe、标签与窗口操作API 
                    8.8.9 Cookie操作API 
                    8.8.10 文件操作API  
                    8.8.11 执行JavaScript操作API 
                    8.8.12 事件监听API 
                    8.8.13 模拟网络API 
                    8.8.14 调试与HTML5 API 
            8.9 playwright断言 
                    8.9.1 断言内容 
                    8.9.2 对象断言 
                    8.9.3 expect断言API 
                    8.9.4 否定匹配器 
                    8.9.5 force=True 
    9. 深入Playwright高级应用 
            9.1 与pytest结合 
                    9.1.1 安装 
                    9.1.2 参数介绍 
                    9.1.3 pytest.mark.介绍 
                    9.1.4 配置文件示例 
            9.2 数据驱动测试 
                    9.2.1 通过@pytest.mark.parametrize参数化 
                    9.2.2 通过外部文件进行参数化  
            9.3 代码的封装  
                    9.3.1 目录结构      
                    9.3.2 基础操作(basepage)  
                    9.3.3 数据操作操作(data)  
                    9.3.4 页面和业务操作(pageobject)  
                    9.3.5 测试程序 
            9.4 测试程序的LLM自动化生成Midscene 
                    9.4.1 进入Midscene 
                    9.4.2 Midscene的关键字 
                    9.4.3 Midscene不支持数据库操作 
            9.5 与Jenkins集成 
    10.走进Cypress 
            10.1 Cypress介绍 
                    10.1.1 Cypress是什么 
                    10.1.2 核心特性与优势 
                    10.1.3 架构与工作原理 
                    10.1.4 Cypress局限性 
            10.2 Cypress安装 
                    10.2.1 安装node.js 
                    10.2.2 安装Cypress 
                    10.2.3 配置环境变量 
                    10.2.4 修改package.json 
                    10.2.5 启动Cypress 
            10.3 创建第一个 Cypress 测试  
                    10.3.1 初始化Cypress项目  
                    10.3.3 编写第一个测试用例  
            10.4 Cypress 配置 
            10.5 升级Cypress 
            10.6 元素定位 
                    10.6.1 使用data-* 属性定位 
                    10.6.2 基本元素定位API 
                    10.6.3 基本元素辅助定位 
                    10.6.4 最佳实践建议 
            10.7 操作元素 
                    10.7.1 浏览器操作API 
                    10.7.2 文本框操作API 
                    10.7.3 获取HTML属性API 
                    10.7.4 鼠标操作API 
                    10.7.5 键盘操作API 
                    10.7.6 等待API  
                    10.7.7 iframe和新标签页操作API 
                    10.7.8 控件操作API
                    10.7.9 元素状态属性API 
                    10.7.10  Cookie操作API 
                    10.7.11 文件操作API 
                    10.7.12 滚动条操作API 
                    10.7.13 条件判断API 
            10.8 钩子函数(Hook) 
                    10.8.1 语法 
                    10.8.2 与其他测试框架的比较 
                    10.8.2 示例 
                    10.8.3 钩子函数执行顺序 
                    10.8.4 实际应用场景 
                    10.8.5 嵌套描述块中的钩子函数 
                    10.8.6 最佳实践 
                    10.8.7 总结 
            10.9 Cypress断言 
                    10.9.1 隐式断言and() 
                    10.9.2 显式断言expect() 
                    10.9.3 显式断言assert()   
                    10.9.4 断言最佳实践  
    11. 深入Cypress高级应用  
            11.1 Cypress访问MySQL数据库  
                    11.1.1 使用cypress-mysql插件  
                    11.1.2 使用官方推荐方法(增强版)  
                    11.1.3 使用自定义命令  
                    11.1.4 完整的数据库操作测试套件  
                    11.1.5 使用环境变量配置数据库连接  
                    11.1.6 注意事项  
            11.2 数据驱动  
                    11.2.1 变量参数化测试  
                    11.2.2 使用fixture测试外部数据  
                    11.2.3 使用外部JSON文件进行测试  
                    11.2.4 代码优化  
                    11.2.5 数据驱动的示例 
            11.3 POM & FOM 
                    11.3.1 Cypress下实现面向对象 
                    11.3.2 封装页面对象方法(POM) 
                    11.3.3 封装业务流对象方法(FOM) 
                    11.3.4 总结 
                    11.3.5 最佳实践 
            11.4 命令行运行测试 
                    11.4.1运行 
                    11.4.2 cypress run 
                    11.4.3 cypress open 
                    11.4.4 cypress verify 
                    11.4.5 cypress version 
            11.5 Cypress支持Allure 
                    11.5.2 配置cypress.config.js 
                    11.5.3 配置support/e2e.js 
                    11.5.4 在测试中使用Allure 
                    11.5.5 执行测试并生成报告  
                    11.5.6 生成和查看Allure报告  
                    11.5.7 运行结果示例 
                    11.5.8 Allure报告功能 
            11.6 Cypress与Jenkins集成 
                    11.6.1 配置 
                    11.6.2 配置Pipeline脚本 
    12.接口自动化测试
            12.1 Requests类介绍
            12.2 基于requests类的Python接口自动化测试
                    12.2.1原始阶段
                    12.2.2对CSRF的校验
                    12.2.3使用excel作为数据驱动
                    12.2.4数据驱动优化
                    12.2.5相对复杂的接口测试
            12.3 Cypress接口测试
                    12.3.1 cy.request参数
                    12.3.2 Get方法
                    12.3.3 Post方法
                    12.3.4 案例
                            Get接口测试案例
                            Post接口测试案例
            12.4接口性能测试
            12.5接口安全测试

    软件测试咨询

      

               

    投稿关闭窗口打印