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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/418201.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【通信基础知识】完整通信系统的流程图及各模块功能详解

2024.2.29 抱歉最近在写毕设大论文,因此没有太多时间更新。然而,在写论文的过程中,发现自己对通信系统的了解还不够全明白,因此差了一些硕博论文总结了一个完整的通信系统流程图。若有不对的地方请多多指正//部分内容有参考ChatGP…

SpringCloud Alibaba(保姆级入门及操作)

第一章 微服务概念 1.0 科普一些术语 科普一下项目开发过程中常出现的术语,方便后续内容的理解。 **服务器:**分软件与硬件,软件:类型tomcat这种跑项目的程序, 硬件:用来部署项目的电脑(一般性能比个人电脑好) **服务:**操作系统上术语:一个程序,开发中术语:一个…

nm readelf objdump objcopy 命令之间的关系

nm readelf objdump objcopy 命令之间的关系 在解析可执行文件和链接库时,经常涉及到上述命令,但之前一直没有梳理清楚这几个命令之间的关系。如下整理了 概述 objdump, readelf, nm, 和 objcopy 是 GNU Binutils 套件的一部分,它们用于处…

Opencv基础与学习路线

Opencv Opencv每一篇目具体: Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 Opencv(3)详解霍夫变换 Opencv(4)详解轮廓 Opencv(5)平滑处理 具体Opencv相关demo代码欢迎访问我的github仓库(包含python和c代码) demo代码 文章目录 Opencv一…

数学建模【分类模型】

一、分类模型简介 本篇将介绍分类模型。对于二分类模型,我们将介绍逻辑回归(logistic regression)和Fisher线性判别分析两种分类算法;对于多分类模型,我们将简单介绍SPSS中的多分类线性判别分析和多分类逻辑回归。 分…

2024.2.29

TCP通信模型 代码&#xff1a; #include <myhead.h> #define SER_IP "192.168.153.128"//服务器ip #define SER_PORT 8080//服务器端口号int main(int argc, const char *argv[]) {//创建用于监听的套接字int sfd-1;sfdsocket(AF_INET,SOCK_STREAM,0);if(sfd…

C#使用iText7给PDF文档添加书签

上一篇文章将SqlSugar官网文档中每个链接对应的网页生成独立PDF文档再合并为单个PDF文档&#xff0c;但是没有书签&#xff0c;八百多页的内容查找和跳转都不方便&#xff0c;本文学习和使用iText7给PDF文档添加多级书签。   添加多级书签分为两大步骤&#xff1a;1&#xff…

探索反距离加权的深度:一种用于地理数据分析的空间插值方法

目录 一、介绍 二、方法论 三、应用 四、优势 五、局限性 六、代码 七、结论 一、介绍 反距离加权 &#xff08;IDW&#xff09; 是一种广泛用于地理信息系统 &#xff08;GIS&#xff09; 和环境科学的空间插值技术&#xff0c;用于根据附近位置的值估计任何位置的缺失值。它的…

搜索算法(算法竞赛、蓝桥杯)--DFS迭代加深

1、B站视频链接&#xff1a;B25 迭代加深 Addition Chains_哔哩哔哩_bilibili 题目链接&#xff1a;Addition Chains - 洛谷 #include <bits/stdc.h> using namespace std; int n,d;//d为搜索的深度 int a[10005];//存储加成的序列bool dfs(int u){//搜索第u层 if(ud)r…

搜维尔科技:xsens研究与教育,为人类运动机制带来意义

推动人类运动学 运动学的精确测量——机械点、机构和系统运动的研究——对于推动当今的生物力学研究至关重要。 研究和了解人体运动机制是通过康复、预防伤害或提高运动表现来改善人们生活的关键。 生物力学研究 主要优点 1.实验室质量数据 – 适合详细分析 2.在任何情况下…

[回归指标]R2、PCC(Pearson’s r )

R2相关系数 R2相关系数很熟悉了&#xff0c;就不具体解释了。 皮尔逊相关系数&#xff08;PCC&#xff09; 皮尔逊相关系数是研究变量之间线性相关程度的量&#xff0c;R方和PCC是不同的指标。R方衡量x和y的接近程度&#xff0c;PCC衡量的是x和y的变化趋势是否相同。R方是不…

【亚马逊云新春特辑⑤】构生成式 AI 文生图工具之借助ControlNet进行AI绘画创作【生成拜年图】

文章目录 4. 生成拜年图4.1 实验环境准备4.2 图片生成 总结 4. 生成拜年图 本节将为大家演示如何使用imAgine绘图方案生成新春贺年图&#xff0c;以下呈现了几张效果图&#xff0c;祝大家龙年大吉&#xff01; Stable Diffusion (SD)是2022年发布的开源的文生图模型&#xff…

【论文综述+多模态】腾讯发布的多模态大语言模型(MM-LLM)综述(2024.02)

论文链接&#xff1a;24.02.MM-LLMs: Recent Advances in MultiModal Large Language | 国内-链接 实时网站&#xff1a;https://mm-llms.github.io 参考说明1-readpaper:https://mp.weixin.qq.com/s/ESUVe1aTYFLVJ10S9c1dBg 一、什么是MM-LLM ? 多模态大语言模型&#xff…

SQLSERVER 2014 删除数据库定时备份任务提示失败DELETE 语句与 REFERENCE 约束“FK_subplan_job_id“冲突

SQLSERVER 2014 删除数据库定时备份任务提示失败DELETE 语句与 REFERENCE 约束“FK_subplan_job_id“冲突 &#xff0c;错误如图&#xff1a; 问题原因&#xff1a;不能直接删除作业 任务&#xff0c;需要先删除计划里面的日志、删除代理作业、删除子计划以后才能删除作业。 解…

sora技术报告阅读

sora是一个在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。 需要将所有类型的视觉数据转化为统一表示的方法&#xff0c;使得能够对生成模型进行大规模训练。 Sora是一个通用的视觉数据模型&#xff0c;它可以生成不同持续时间、宽高比和分辨率的视…

Java SPI:Service Provider Interface

SPI机制简介 SPI&#xff08;Service Provider Interface&#xff09;&#xff0c;是从JDK6开始引入的&#xff0c;一种基于ClassLoader来发现并加载服务的机制。 一个标准的SPI&#xff0c;由3个组件构成&#xff0c;分别是&#xff1a; Service&#xff1a;是一个公开的接口…

模型优化_XGBOOST学习曲线及改进,泛化误差

代码 from xgboost import XGBRegressor as XGBR from sklearn.ensemble import RandomForestRegressor as RFR from sklearn.linear_model import LinearRegression as LR from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split,c…

javascript作用域编译浅析

作用域思维导图 1&#xff1a;编译原理 分词/词法分析 如果词法单元生成器在判断a是一个独立的词法单元还是其他词法单元的一部分时&#xff0c;调用的是有状态的解析规则&#xff0c;那么这个过程就被称为词法分析。 解析/语法分析 由词法单元流转换成一个由元素逐级嵌套所组…

Linux 下安装Jupyter

pip3 install jupyter pip3 install ipython -------------------------------------------- pip3 install jupyterlab jupyter lab pip3 list | grep jupyterlab 启动&#xff1a; python3 -m jupyter lab 2.安装朱皮特 pip3 install -i https://pypi.douban.com/simpl…

免费音频剪辑

在数字时代&#xff0c;音频剪辑已成为许多职业和爱好者不可或缺的技能。无论是制作播客、教育视频、还是进行广告宣传&#xff0c;高质量的音频剪辑都能为作品增色不少。今天&#xff0c;我要为大家强烈安利一款免费且功能强大的音频剪辑工具&#xff0c;它绝对是你办公桌上不…
最新文章