Web自动化测试平台开发---Automated_platform
一、项目简介
历时一个假期,Automated_platform 第一版完工,是一款基于po模式的自动化测试平台,采用后端技术为Django+celery+RabbitMQ+mysql 配置mysql数据库,进行数据迁移后,运行项目后,即可成功访问http://127.0.0.1:8000/app/login/
后台管理系统:http://127.0.0.1:8000/admin/
二、功能模块
1、登录/注册模块


2、首页可视化

3、工作台(前期工作)
首先新建项目、配置其项目运行环境url,在项目下新建页面,在页面下定位该页面所需要的全部元素位置,包括id、class、name、xpath、class selector等等定位方式
不难发现,这其实就是pom模式,POM设计思想将页面UI元素对象、业务逻辑(定位元素 以及 操作定位后的元素)、Case测试数据等分离开来,使得代码逻辑更加清晰,复用性,可维护性更高的一种方法,普遍运用于UI自动化测试当中。
a、项目管理

b、页面管理/页面元素


c、引入关键字驱动技术
核心思想就是把测试用例和测试步骤分离,把我们在web测试中会用到的基本方法(比如点击、输入文本、截图、放大窗口等等)在后端封装起来,前端新建时只需选择所需要的类包和方法,即可完成关键字驱动。

4、核心功能(编写并运行测试用例、查看测试结果)
a、新建测试用例
在新建测试用例的时候首先选择项目,然后添加步骤的时候首先选择关键字,然后选择页面和元素(比如选择了左键点击关键字,然后选择首页中的搜索按钮)就可以完成左键点击搜索按钮的操作,这样我们就实现了测试用例和测试步骤的分离。


可以选择参数值、或参数自动化
b、设置断言
这个就不多说了,就是预期结果和实际结果是否匹配,通常我们假设它成功,然后选择成功后会出现的某个元素,提前给这个元素做一个定位,然后在断言那里选择该页面中的那个元素即可.
c、测试结果查看


4、微服务
a、前置登录配置
在一些场景中,需要在用户登录的状态下进行操作,接口测试中我们可以配置token,在web中我们可以自动化登录操作,这样在需要登录的场景下可以引入此前置登录,节省测试用例步骤,可以做到更好的维护,方便我们定位错误步骤。
b、分布式任务(定时)

三、需要改善的点
1、引入开源第三方测试报告(美观!)
2、配置邮箱,可以做到一键发送测试报告
3、做下载文件接口,实现下载测试报告(pdf、word、html)
4、个人中心
5、角色权限分配、不同的角色进入系统,只可以看自己新建的用例和测试结果
6、美化前端(我做的比较粗糙)
...................................................
本次开发这个平台,收获了很多 ,都可以出一篇报错合集的文章!
后续我会开源,感兴趣的同学可以和我一起去完善这个平台
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~都看到这了 点个赞再走hhh
相关文章:
Web自动化测试平台开发---Automated_platform
一、项目简介 历时一个假期,Automated_platform 第一版完工,是一款基于po模式的自动化测试平台,采用后端技术为DjangoceleryRabbitMQmysql 配置mysql数据库,进行数据迁移后,运行项目后,即可成功访问http://127.0.0.1:8…...
mybatis-plus: 多租户隔离机制
文章目录 一、TenantLineHandler1、介绍2、包含的方法 二、简单实例三、实践1、实现TenantLineHandler接口 一、TenantLineHandler 1、介绍 TenantLineHandler 是 Mybatis-Plus 中用于处理多租户的接口,用于实现多租户数据隔离的具体逻辑。通过实现这个接口&#…...
用Socks5代理游戏,绕过“网络海关”去探险
1. 出海大冒险的开始 在游戏世界,就像在现实生活中一样,有时我们需要越过海洋去探索未知的世界。但是,网络上也有一些“海关”,限制我们访问某些网站或游戏服务器。这就是我们今天要克服的挑战! 2. Socks5代理…...
SpringBoot整合rabbitmq-直连队列,没有交换机(一)
说明:本文章只是springboot和rabbitmq的直连整合,只使用队列生产和消费消息,最简单整合! 工程图: A.总体pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://…...
CUDA C:查看GPU设备信息
相关阅读 CUDA Chttps://blog.csdn.net/weixin_45791458/category_12530616.html?spm1001.2014.3001.5482 了解自己设备的性能是很有必要的,为此CUDA 运行时(runtime)API给用户也提供了一些查询设备信息的函数,下面的函数用于查看GPU设备的一切信息。 …...
深度学习如何入门?——从“小白”到“大牛”的深度学习之旅
大家好,今天我要和大家分享的主题是“深度学习如何入门”。深度学习作为人工智能领域的重要分支,已经取得了许多令人瞩目的成果。然而,对于初学者来说,深度学习可能显得有些神秘和难以入手。那么,如何才能快速入门深度…...
编译 qsqlmysql.dll QMYSQL driver not loaded
Qt 连接MySQL数据库,没有匹配的qsqlmysql.dll, 需要我们跟进自己Mysql 以及QT版本自行编译的。异常如下图: 安装环境为 VS2019 Qt5.12.12(msvc2017_64、以及源码) 我的安装地址:D:\Qt\Qt5.12.12 Mysql 8.1.0 默认安…...
Android日历提醒增删改查事件、添加天数不对问题
Android日历提醒是非常好的提醒功能,笔者在做的过程中,遇到的一些问题,现整理出来,以供参考。 一、申请日历的读写权限 <uses-permission android:name"android.permission.WRITE_CALENDAR" /> <uses-permiss…...
【力扣hot100】刷题笔记Day15
前言 今天要刷的是图论,还没学过,先看看《代码随想录》这部分的基础 深搜DFS理论基础 深搜三部曲 确认递归函数、参数确认终止条件处理目前搜索节点出发的路径 代码框架 void dfs(参数) {if (终止条件) {存放结果;return;}for (选择:本节点…...
vue-显示数据
v-text和v-html专门用来展示数据, 其作用和插值表达式类似。v-text和v-html可以避免插值闪烁问题. 当网速比较慢时, 使用{{}}来展示数据, 有可能会产生插值闪烁问题。 插值闪烁: 在数据未加载完成时,页面会显示出原始的{{}}, 过一会才会展示正常数据.语法…...
kali linux常用命令
1. 网络扫描 功能:网络扫描是用来发现网络中的设备、服务和开放端口的过程。 命令:nmap 例子:nmap -sP 192.168.1.0/24 这个命令使用 Nmap 进行网络扫描,列出 192.168.1.0/24 网段中的所有活跃主机。 2. 密码破解 功能…...
HTML5:七天学会基础动画网页4
backgorund-size 值与说明 length(单位像素):设置背景图片高度和宽度,第一个值设置宽度,第二个值设置高度,如果只给出一个值,第二个是设置为auto。 percentage(百分比):以父元素的百分比来设置背景图像的宽度和高度,…...
Web安全之接口鉴权
目录 接口鉴权定义 为什么会有cookie还有session还有token这种技术的存在?...
shardingsphere 集成springboot【水平分表】
创建sharding_sphere数据库 在数据库中创建两张表,t_order_1和t_order_2 分片规则:如果订单编号是偶数添加到t_order_1,如果是奇数添加到t_order_2 创建实体类 public class Order { private Integer id; private Integer orderType; private Int…...
GO 的 Web 开发系列(六)—— 遍历路径下的文件
文件 IO 处理是程序的基础功能,WEB 程序中通过文件 IO 实现附件的上传与下载。在 GO 中,有多种方式可以遍历文件目录,获取文件路径,本文从使用层面上论述这些函数。 预先准备一个包含子目录的目录,用于遍历测试&#…...
Flutter 处理异步操作并根据异步操作状态动态构建界面的方法FutureBuilder
概述 当界面的内容需要依靠网络请求的数据,就需要处理苦恼的,状态是空,非空的逻辑了,不然页面构建可能会报错,而FutureBuilder提供了一个非常好的解决方法,直接看代码 代码 异步操作函数 即网络请求函数…...
Git教程-Git的基本使用
Git是一个强大的分布式版本控制系统,它不仅用于跟踪代码的变化,还能够协调多个开发者之间的工作。在软件开发过程中,Git被广泛应用于协作开发、版本管理和代码追踪等方面。以下是一个详细的Git教程,我们将深入探讨Git的基本概念和…...
Java解决长度为K子的数组中的的最大和
Java解决长度为K子的数组中的的最大和 01 题目 给你一个整数数组 nums 和一个整数 k 。请你从 nums 中满足下述条件的全部子数组中找出最大子数组和: 子数组的长度是 k,且子数组中的所有元素 各不相同 。 返回满足题面要求的最大子数组和。如果不存在子…...
【手机端测试】adb基础命令
一、什么是adb adb(Android Debug Bridge)是android sdk的一个工具 adb是用来连接安卓手机和PC端的桥梁,要有adb作为二者之间的维系,才能让用户在电脑上对手机进行全面的操作。 Android的初衷是用adb这样的一个工具来协助开发人…...
【数据结构】深入探讨二叉树的遍历和分治思想(一)
🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:数据结构 🔥该文章主要讲述二叉树的递归结构及分治算法的思想。 目录: 🌍前言:🌍…...
别再死记硬背公式了!用Multisim仿真带你玩转74HC153数据选择器
用Multisim仿真74HC153:可视化数据选择器的实战指南 记得第一次接触数据选择器时,盯着密密麻麻的真值表和逻辑表达式,那种"每个字母都认识但连起来完全不懂"的挫败感至今难忘。直到在Multisim里亲手搭建电路、拨动开关看到LED亮灭的…...
YOLOv5到v8怎么选?我用同一份植物病害数据集做了个全面对比(附性能测试结果)
YOLOv5到v8实战评测:植物病害检测模型选型指南 在计算机视觉领域,目标检测模型的迭代速度令人目不暇接。作为YOLO系列的最新成员,从v5到v8每个版本都带来了显著的性能提升和架构创新。但对于实际项目中的技术决策者而言,面对众多版…...
Hermes Agent:从自进化智能体到分布式生产力内核的深度研究报告
文章目录 一、 纵向分析:Hermes Agent 的诞生、演化与智能复利的积累1. 起源追溯:去中心化理想与大模型“失忆症”的对抗2. 诞生的前奏:基础设施的垂直整合与技术蓄力3. 诞生节点:2026 年初的“自生长”宣言4. 演进历程࿱…...
广度优先搜索(Breadth-First Search, BFS)是一种基于队列的图遍历算法,因其逐层探索的特性,在解决最短路径问题(特别是无权图或权值相同的图)时具有天然优势
广度优先搜索(Breadth-First Search, BFS)是一种基于队列的图遍历算法,因其逐层探索的特性,在解决最短路径问题(特别是无权图或权值相同的图)时具有天然优势。 本文将深度剖析如何用 BFS 解决最短路径问题,涵盖核心思想、算法步骤、代码实现、适用场景、优化技巧及常见…...
LLM应用黑盒终结者(OpenTelemetry+LangChain+Prometheus全链路追踪私有化部署实录)
第一章:生成式AI应用全链路追踪 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用已从单点模型调用演进为横跨数据采集、提示工程、推理服务、响应评估与用户反馈闭环的复杂系统。全链路追踪的核心目标是实现可观测性(Observabilityÿ…...
从‘河道水流’到‘信号反弹’:一个生动的比喻带你彻底理解阻抗不匹配
从‘河道水流’到‘信号反弹’:一个生动的比喻带你彻底理解阻抗不匹配 想象一下,你正站在一条湍急的河流边观察水流。当河道宽度突然变窄时,你会看到水流撞击狭窄处后产生反向的浪花;而当河道突然变宽时,水流又会像被&…...
2026 - 解决Typora文档内快捷键失效(与其他软件快捷键冲突)
前言突然有一个我的Typora快捷键失效了,比如我想快速设置一个段落对应的快捷键都存在,但是我怎么按都无效,接下来开始慢慢排查。解决方法一、修改配置文件文件->偏好设置-> 最底下有个高级设置,选择 打开高级设置 ÿ…...
Tern项目配置终极指南:快速搭建企业级JavaScript分析环境
Tern项目配置终极指南:快速搭建企业级JavaScript分析环境 【免费下载链接】tern A JavaScript code analyzer for deep, cross-editor language support 项目地址: https://gitcode.com/gh_mirrors/te/tern Tern是一款强大的JavaScript代码分析工具ÿ…...
CSS如何给按钮添加按下缩小的动画_利用-active配合transform
按钮点击无动画响应,需检查 pointer-events、disabled、父元素遮挡及 :active 权重;缩放卡顿因缺少 transition,应设于常态规则中;兼容 IE9/10 需 JS 模拟;布局抖动可调 transform-origin、用 padding 替代 height。按…...
揭秘SITS2026现场实测结果:3类高噪声会议场景下AI纪要生成准确率断崖式提升的4步调优法
第一章:SITS2026现场实测背景与高噪声会议纪要生成挑战全景 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Smart Intelligent Technical Summit 2026)于2026年4月在上海张江科学会堂举行,汇聚全球37个国家的1200技术专…...

