python 自动化框架_学会Python+Selenium,分分钟搭建Web自动化框架!
用python+selenium实现UI自动化测试,要有一些HTML和xpth的基础,当然python基础一定是必须要会的。笔者建议花点时间了解下相关基础知识,不至于后面发懵。
一、什么是selenium?
selenium是个强大的工具集。支持快速开发测试自动化,支持在多种浏览器平台上执行测试。支持多开发语言,如:Python、Java、ruby、C#等,本次选择Python3作为开发语言。
二、用python做测试的优点
学习难度小,开发周期短。对目前国内大多数测试人员来说,编码经验不足,python是个很好的入门语言。胶水语言,能与C++, Java, COM, and .NET,Object-C 整合。
测试部门要做单元测试,接口测试,因为人员比例的关系,不可能让测试人员同时掌握多门语言,python可以对C/C++, Java, Object-C进行接口封装后,实现单元测试。语法简约,清晰,减少后期维护的难度。
三、自动化测试框架
一个典型的自动化测试框架一般包括用例管理模块、自动化执行控制器、报表生成模块和日志模块等,这些模块之间不是相互孤立的,而是相辅相成的。
下面来介绍下每个模块的逻辑单元:
用例管理模块
用例管理模块包括用例的添加、修改、删除等操作单元,这些单元也会涉及到用例书写的模式,测试数据的管理、可复用库等
自动化执行控制器
控制器是自动化用例执行的组织模块,主要负责以什么方式去执行用例。比较典型的控制器有用户图形界面(GUI)和“commandline+文件”两种。
报表生成模块
报表生成模块主要负责执行完用例以后生成报表,报表一般以HTML格式居多,信息主要包括用例的执行情况及相应的总结报告。另外还可以添加发送邮件功能。
日志模块
日志模块主要用来记录用例的执行情况,以便于更高效的调查用例失败信息及追踪用例执行情况。
四、自动化框架的设计与实现
方案设计
1、编程代码选择 python3
2、工具selenium + 单元测试框架 unittest
3、编译器: IDE/pycharm
结构设计
cases:
根据功能划分用例管理
用例实现
com
config
edata: 环境配置模块
env.json 、enviroment.yaml 实现城市选择及SIT、UAT环境切换
sdata: 数据配置
各类数据json文件、银行数据、产品信息、个人信息等
elements: 元素定义
locator.py 元素定义、menu 、into_a_management.yaml 等
lib
第三方模块引用, 版本管理
report
管理日志报告
report.xlsx 自动化执行结果生成excel报表
report.xlsx
index.html
需要改进的模块
对于现有实现的测试框架,已经可以满足web对象的自动化需求,但还是有些可以改进提高的地方,比如:
针对部分测试用例是否可以尝试数据驱动
添加屏幕截图功能
封装selenium中By库中的函数,以便更高效的定位页面元素等
结合业界优秀的自动化框架和实践持续改进
五、总结
基于selenium实现的web自动化框架不仅轻量级而且灵活,可以快速的开发自动化测试用例。结合上面的框架设计思路,希望对大家以后的web自动化框架的设计和实现有所帮助。
python 自动化框架_学会Python+Selenium,分分钟搭建Web自动化框架!相关推荐
- python selenium 获取元素下的元素个数_Python + Selenium,分分钟搭建 Web 自动化框架!(送自动化测试书籍)...
前言 在程序员的世界中,一切重复性的工作,都应该通过程序自动执行.「自动化测试」就是一个最好的例子.随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的 ...
- Python + Selenium,带你分分钟搭建 Web 自动化测试框架!
在程序员的世界中,一切重复性的工作,都应该通过程序自动执行.「自动化测试」就是一个最好的例子. 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务 ...
- Python + Selenium,分分钟搭建 Web 自动化测试框架!
在程序员的世界中,一切重复性的工作,都应该通过程序自动执行.「自动化测试」就是一个最好的例子. 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务 ...
- Python + Selenium,分分钟搭建 Web 自动化测试框架
在程序员的世界中,一切重复性的工作,都应该通过程序自动执行. 「自动化测试」就是一个最好的例子. 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业 ...
- jenkins+python+git自动化测试框架_使用jenkins + python + selenium一步步搭建web自动化测试“框架”(1) - 各部件简介...
原先搭建过一个自动化测试框架,迷迷糊糊不求甚解,算是搭建了一个仅限于能用的.根本算不上框架的玩意儿. 现在回过头来好好看看究竟每一步是怎么联系起来的,是怎么运行起来的. 本次博客先说说各部件都是干什么 ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- 基于Selenium实现的web自动化测试框架
目录 一.什么是Selenium? 二.自动化测试框架 三.自动化框架的设计和实现 四.需要改进的模块 五.总结 一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供 ...
- python自动化从零开始_从零开始学Selenium自动化测试:基于Python:视频教学版
前言 第1章 自动化测试基础 1.1 自动化测试简介 1.1.1 自动化测试的定义 1.1.2 自动化测试与手工测试的关系 1.1.3 何时开展自动化测试 1.1.4 自动化测试的优势 1.1.5 自 ...
最新文章
- 2022-2028年中国SIP芯片行业市场前景预测及投资战略研究报告
- 从小白到精通python要多久-小白学Python需要多久?老男孩Python培训教程
- 用Python实现一个实时运动的大挂钟效果
- sublime text2/3怎样在windows中配置ctags插件
- 正在等待语音服务器回应,Python如何突破正在等待服务器响应的阻塞生成器?
- python `__slots__`
- 网络编程----观察进程的启动与停止
- python运维知识大全_python基础知识
- win10 SecoClient连接“提示用户与对方建立连接超时,配置错误或网络故障”
- 电脑屏幕总是晚上定时开启护眼模式,变成黄色?教你这招解决它
- 极光推送 java demo_android 极光推送demo
- 在线弹钢琴HTML源码,在线弹钢琴 1.0
- 单调栈和单调队列的本质区别
- 细胞亚器文章阅读ER-to-Plasma Membrane Tethering Proteins Regulate Cell Signaling and ER Morphology
- PB调用C#开发的控制台应用——实现WORD文档按页转存JPG图片
- 一起学JAVA之【基础篇】4种默认线程池介绍
- 串口termios结构体的详细设置
- 反病毒利器Autoruns和ProcessExplorer, SREng - 本人推荐使用的查毒杀毒辅助工具
- hyper graph 超图
- 学校计算机班班通维护保养记录,中心学校班班通设备维护保养制度
热门文章
- python中用于绘制各种图形的区域称作_Python--matplotlib绘图可视化知识点整理(示例代码)...
- 安师大计算机安全网络,计信学院成功举行网络与信息安全安徽省重点实验室2020年度学术年会...
- php重写curl_setopt函数,PHP curl_share_setopt函数
- 从一个真实案例看性能差异问题处理方法论
- 资源放送丨《大规模 SQL 审核设计与实践》PPT视频
- 经验之谈:内存问题造成数据库性能异常怎么破?
- 下班后比你多学2个小时的人,在看这几个公众号
- PostgreSQL学习的九层宝塔
- 深度解析HashMap底层实现架构
- 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)