IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 框架设计模式关键字+POM自动化测试框架 -> 正文阅读

[开发测试]框架设计模式关键字+POM自动化测试框架

测试工作对技术的要求不低,测试工程师属于高技能职位。但有很多新入行的伙伴认为,用鼠标在软件里“点点点”就是做测试,这种思维是非常错误的。想要拿高薪必须先学会如何去做自动化测试、而在自动化测试中你一定要掌握两种必不可少的设计模式关键字与POM,这才是决定这你在面试后谈薪资的底气!

一、自动化测试框架:

自动化测试技术是目前行业中特别主流的测试技术之一。目前企业中应用自动化测试技术最为主流的方式是基于框架的形态来实现的。很多人都是以线性代码的形态来编写自动化,这是一种学习过程中必经的阶段,但是不满足于企业的实际需求。

二、在企业中框架的结构到底是什么样子:

  1. 框架不是一成不变的东西。不同的公司框架都会有或多或少的不同。
  2. 一定是结合主流技术来实现的独立化的框架。
  3. 一定是应用到面向对象思维,应用到实际设计模式等常态化的技术来实现的。
  4. 都是基于整个技术团队来进行使用的。相当于是在团队内部实现了所谓的测试工具的开发。

三、要实现一个框架应该怎么办?

  1. 编程语言:Python
  2. 核心模块:Selenium、Appium、Requests
  3. 设计模式:
    关键字驱动
    几乎所有的测试框架/平台都是基于关键字驱动为底层逻辑来实现的。
    页面对象模型
    俗称的POM,针对UI自动化层级实现的独有设计模式,也是目前市场认知中最佳的设计模式。
    测试数据:
    excel:
    基于excel文件,管理所有的测试数据。甚至管理测试用例。
    相较于其他的数据驱动而言,excel是入门门槛最低的形式
    yaml、py、json:
    相对于excel而言,有着更为简单直接的维护方式,但是,上手的难度太高
    配置管理:日志管理,浏览器配置、邮件配置、环境配置。
    测试用例:excel、UnitTest、Pytest
    测试报告:自定义模板、HTMLTESTRUNNER、Allure
    持续集成:
    代码管理:git、svn
    jenkins:自动部署、定时任务、构建任务
    技术能力
    设计能力:结合实际情况进行合理化设计
    基于经验去进行传授,不能够只是学习最基本的编码的东西。

四、自动化测试框架的设计原则

  1. 通用性:能够在各种各样的系统和平台都能够使用
  2. 易维护性:能够把我们的数据、用例、框架的实现进行独立的维护,能够在实现完善的过程,快速的定义到维护的点,而不对框架的其他功能造成影响
  3. 定时处理:能够在指定的时间执行
  4. 持续集成:当被测程序和测试代码有更新能够自动执行
  5. 调试:可调试行强
  6. 测试结果:测试报告、测试数据的统计分析

五、框架的设计思想

可以把自动化测试框架主体分为两部分,一个是内部框架,一个是外部框架,内部框架就是我们自己实现的测试框架代码,外部框架就是抛开我们实现的核心代码,要达到自动化测试框架设计原的一些内容时用到的一些第三方工具。

  1. 外部框架
      主要是指以webdriver为核心,辅以外部第三放框架和工具。用以实现持续集成、自动部署、脚本执行、远程调用、报告优化、邮件发送导等功能性框架,实现自动化框架设计原则的一些外围的组件。
  2. 内部框架
      也就是分层框架,目的在于更好的优化和管理测试用例,更便捷的进行数据、元素、脚本的维护和更快速的创建新脚本

1.通用的外部框架实现逻辑

maven或者tox-自动编译,执行TestNG或junit,集成邮件发送等
  TestNG或Junit、pytest,调用webdriver或者发送请求的方法,执行自动化测试用例,规范自动化测试脚本
  selenium脚本或者接口用例脚本
  reportNG或者allure报告优化模板
  main 自动以html邮件通知或者Jenkins发送邮件

2.内部框架

层架框架-也就是代码结构优化,根据具体的业务和需求可以大致分为以下几层,有时并不需要下面所有的层次,选取合适自己业务测试的就行。

  1. TestCase层,执行的用例脚本
  2. Task层,公共业务分装,是其他的项目不需要的,只和当前项目相关,比如公共登陆、搜索等业务
  3. utils层:与业务无关的方法,比如数据驱动-也就进行数据文件的读写、浏览器操作、元素定位方法等进行封装
  4. page层或po层:页面层,页面层主要维护某一个页面的所有元素,对页面的操作、对元素的操作以及和其他页面的交互,业务其实就是一个元素到另一个元素或者一个页面到另一个页面,这就和task层有点重复一般有一个就可以了。
  5. element层:公共元素或者组件的维护,或者自定义组件封装
  6. data层:数据存储
  7. properties层:配置文件、全局变量

六、你需要的学习资料、面试资料都在这里!(点进领取)

1.学习资料
在这里插入图片描述
2.面试资料
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 08:14:59  更:2021-11-24 08:15:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:33:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码