用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自动化框架!相关推荐

  1. python selenium 获取元素下的元素个数_Python + Selenium,分分钟搭建 Web 自动化框架!(送自动化测试书籍)...

    前言 在程序员的世界中,一切重复性的工作,都应该通过程序自动执行.「自动化测试」就是一个最好的例子.随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的 ...

  2. Python + Selenium,带你分分钟搭建 Web 自动化测试框架!

    在程序员的世界中,一切重复性的工作,都应该通过程序自动执行.「自动化测试」就是一个最好的例子. 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务 ...

  3. Python + Selenium,分分钟搭建 Web 自动化测试框架!

    在程序员的世界中,一切重复性的工作,都应该通过程序自动执行.「自动化测试」就是一个最好的例子. 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务 ...

  4. Python + Selenium,分分钟搭建 Web 自动化测试框架

    在程序员的世界中,一切重复性的工作,都应该通过程序自动执行. 「自动化测试」就是一个最好的例子. 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业 ...

  5. jenkins+python+git自动化测试框架_使用jenkins + python + selenium一步步搭建web自动化测试“框架”(1) - 各部件简介...

    原先搭建过一个自动化测试框架,迷迷糊糊不求甚解,算是搭建了一个仅限于能用的.根本算不上框架的玩意儿. 现在回过头来好好看看究竟每一步是怎么联系起来的,是怎么运行起来的. 本次博客先说说各部件都是干什么 ...

  6. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  7. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  8. 基于Selenium实现的web自动化测试框架

    目录 一.什么是Selenium? 二.自动化测试框架 三.自动化框架的设计和实现 四.需要改进的模块 五.总结 一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供 ...

  9. python自动化从零开始_从零开始学Selenium自动化测试:基于Python:视频教学版

    前言 第1章 自动化测试基础 1.1 自动化测试简介 1.1.1 自动化测试的定义 1.1.2 自动化测试与手工测试的关系 1.1.3 何时开展自动化测试 1.1.4 自动化测试的优势 1.1.5 自 ...

最新文章

  1. 2022-2028年中国SIP芯片行业市场前景预测及投资战略研究报告
  2. 从小白到精通python要多久-小白学Python需要多久?老男孩Python培训教程
  3. 用Python实现一个实时运动的大挂钟效果
  4. sublime text2/3怎样在windows中配置ctags插件
  5. 正在等待语音服务器回应,Python如何突破正在等待服务器响应的阻塞生成器?
  6. python `__slots__`
  7. 网络编程----观察进程的启动与停止
  8. python运维知识大全_python基础知识
  9. win10 SecoClient连接“提示用户与对方建立连接超时,配置错误或网络故障”
  10. 电脑屏幕总是晚上定时开启护眼模式,变成黄色?教你这招解决它
  11. 极光推送 java demo_android 极光推送demo
  12. 在线弹钢琴HTML源码,在线弹钢琴 1.0
  13. 单调栈和单调队列的本质区别
  14. 细胞亚器文章阅读ER-to-Plasma Membrane Tethering Proteins Regulate Cell Signaling and ER Morphology
  15. PB调用C#开发的控制台应用——实现WORD文档按页转存JPG图片
  16. 一起学JAVA之【基础篇】4种默认线程池介绍
  17. 串口termios结构体的详细设置
  18. 反病毒利器Autoruns和ProcessExplorer, SREng - 本人推荐使用的查毒杀毒辅助工具
  19. hyper graph 超图
  20. 学校计算机班班通维护保养记录,中心学校班班通设备维护保养制度

热门文章

  1. python中用于绘制各种图形的区域称作_Python--matplotlib绘图可视化知识点整理(示例代码)...
  2. 安师大计算机安全网络,计信学院成功举行网络与信息安全安徽省重点实验室2020年度学术年会...
  3. php重写curl_setopt函数,PHP curl_share_setopt函数
  4. 从一个真实案例看性能差异问题处理方法论
  5. 资源放送丨《大规模 SQL 审核设计与实践》PPT视频
  6. 经验之谈:内存问题造成数据库性能异常怎么破?
  7. 下班后比你多学2个小时的人,在看这几个公众号
  8. PostgreSQL学习的九层宝塔
  9. 深度解析HashMap底层实现架构
  10. 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)