Python + selenium 自动化测试框架详解
目录
- 自动化测试框架
- 1.基础层(通用层)
- 2.功能层(页面层)
- 3.业务层
- 4.用例层
- 4层框架对应的项目工程
- 总结
自动化测试框架
项目自动化测试框架设计为4层
1.基础层(通用层)
基础层:
将通用,重复性比较高的代码封装到这里。 写通用的代码的。
其他3层想要的话,就可以直接调用。
例如:
读取测试数据的代码,读取配置信息的代码;截图的代码的,定位元素的代码等等
2.功能层(页面层)
功能层:
pages 封装页面的。 把页面封装成类。类中包含:属性和方法
把页面上的界面元素定义成类的属性;
把定位界面元素并且进行操作封装到类的方法中;
3.业务层
业务层:
把页面和测试数据等等整合到一起,形成一个完整的业务功能。
4.用例层
用例层:
把对应的业务功能的用例进行实现封装。 放到测试套件中进行批量执行,并且生成测试报告。
每一个业务功能会有很多个用例。
4层框架对应的项目工程
OAProject
Config
文件夹目录:用来存放配置信息相关的文件 例如:url.csv db.csvData
文件夹目录: 用来存放测试数据文件的。例如:login_test_data.csvPictures
文件夹目录:用来存放截图文件的。 例如:xxxx.pngReports
文件夹目录:用来存放测试报告文件的。 例如: xxxx.htmlFiles
文件夹目录:如果有上传附件功能实现自动化的话,就可以有。用来存放上传的那个附件文件。Src
包:package:用来管理oa项目中所有的py文件Common
包:存放通用,共同的代码的。 对应:第一层:基础,通用层
如:
读取CSV文档中的测试数据
Pages
包: 存放页面代码的; 对应:第二层:功能页面层Business
包:存放业务层代码的。 对应:第三层:业务层Test_case
包:存放组装测试用例的代码; 对应:第四层:用例层Test_run
包:存放测试套件已经生成测试报告的代码; 对应:第四层:用例层
其中:
pages business test_case
包中可以继续按照功能模块来创建包。例如:XTBG ggxx 等等
备注:
以上工程的设计,框架的设计在工作中:一个项目中,只能由一个人去设计完成。一般都是自动化测试负责人来完成。 其他自动化测试人员等负责人把框架搭建好之后,直接获取,写代码即可。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
python中的selenium安装的步骤(浏览器自动化测试框架)
一.前言 我们今天要安装的selenium 就是浏览器自动化测试框架,是一个用于Web应用程序的测试工具,就是模拟用户操作.支持的浏览器包括Chrome,IE,Mozilla Firefox,Safari,Opera等.今天我们以Chrome为例讲一下安装方法. (其他方法大同小异) 二.准备工作 2.1.下载浏览器驱动并安装 一般的包安装直接在cmd <pip install 包的名称>,但这个包还需要下载相应的浏览器的驱动,这里强烈推荐Chrome,谁用谁知道.(没有学python爬虫之前
-
python3+selenium自动化测试框架详解
背景 为了更好的发展自身的测试技能,应对测试行业以及互联网行业的迭代变化.自学python以及自动化测试. 虽然在2017年已经开始接触了selenium,期间是断断续续执行自动化测试,因为还有其他测试任务,培训任务要执行- 前期建议大家能够学习python基本语法(python基础教程) 任务 搭建自动化测试框架,并能有效方便的进行测试,维护成本也要考虑其中. 过程 我的自动化框架可能不成熟,因为是自学的.请多包涵.也请大佬指导~ common 包含:基本的公共方法类,比如HTML报告.Log
-
python+selenium自动化框架搭建的方法步骤
环境及使用软件信息 python 3 selenium 3.13.0 xlrd 1.1.0 chromedriver HTMLTestRunner 说明: selenium/xlrd只需要再python环境下使用pip install 名称即可进行对应的安装. 安装完成后可使用pip list查看自己的安装列表信息. chromedriver:版本需和自己的chrome浏览器对应,百度下载. 作用:对chrome浏览器进行驱动. HTMLTestRunner:HTMLTestRunner是Pyt
-
Python + selenium 自动化测试框架详解
目录 自动化测试框架 1.基础层(通用层) 2.功能层(页面层) 3.业务层 4.用例层 4层框架对应的项目工程 总结 自动化测试框架 项目自动化测试框架设计为4层 1.基础层(通用层) 基础层: 将通用,重复性比较高的代码封装到这里. 写通用的代码的. 其他3层想要的话,就可以直接调用. 例如: 读取测试数据的代码,读取配置信息的代码:截图的代码的,定位元素的代码等等 2.功能层(页面层) 功能层: pages 封装页面的. 把页面封装成类.类中包含:属性和方法 把页面上的界面元素定义成类的属
-
python selenium自动化测试框架搭建的方法步骤
设计思路 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享. 框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要. 1.使用Page Object模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性: 2.使用yaml管理页面控件元素数据和测试用例数据.例如元素ID等发生变化时,不需要去修改测试代码,只需要在对应的
-
Python selenium find_element()示例详解
selenium有以下定位方式: driver.find_element_by_id('id') driver.find_element_by_xpath('xpath') driver.find_element_by_link_text('link_text') driver.find_element_by_partial_link_text('partial_link_text') driver.find_element_by_name('name') driver.find_element
-
python selenium firefox使用详解
演示的版本信息如下: Python 3.6.0 Selenium 3.5.0 Firefox 55.0.3 geckodriver v1.0.18.0 win64 1.前提准备 1.1 安装python https://www.jb51.net/article/144750.htm 1.2 安装Firefox浏览器 1.3下载geckodriver(是Firefox的官方webdriver) 2.Python安装selenium python 3.0X包自带pip和setuptools.我们可以
-
Python Unittest自动化单元测试框架详解
本文实例为大家分享了Python Unittest自动化单元测试框架的具体代码,供大家参考,具体内容如下 1.python 测试框架(本文只涉及 PyUnit) 参考地址 2.环境准备 首先确定已经安装有Python,之后通过安装PyUnit,Python版本比较新的已经集成有PyUnit(PyUnit 提供了一个图形测试界面UnittestGUI.py) 参考:查看地址 3.代码实例 使用的IDE为 PyCharm,DEMO结构如图 1.简单地一个实例 # Test002_Fail.py #
-
selenium+python环境配置教程详解
一.安装Python 1)官网下载安装 2)配置环境变量(未勾选自动配置需要手动配置) 3)检查是否安装成功(交互窗口中输入Python -v) 二.Selenium 3.X +FireFox 驱动 +geckodriver 1.安装selenium: 1)W+r输入cmd,然后输入pip install selenium 2)安装FireFox,添加附加组件selenium IDE.FireBUG 3) https://github.com/mozilla/geckodriver/releas
-
对Python 语音识别框架详解
如下所示: from win32com.client import constants import os import win32com.client import pythoncom speaker = win32com.client.Dispatch("SAPI.SPVOICE") class SpeechRecognition: def __init__(self, wordsToAdd): self.speaker = win32com.client.Dispatch(&qu
-
python flask框架详解
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档, 英文不好的同学也可以参考中文文档 1.安装flask pip install flask 2.简单上手 一个最小的 Flask 应用如下: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World' if __na
-
Python卷积神经网络图片分类框架详解分析
[人工智能项目]卷积神经网络图片分类框架 本次硬核分享当时做图片分类的工作,主要是整理了一个图片分类的框架,如果想换模型,引入新模型,在config中修改即可.那么走起来瓷!!! 整体结构 config 在config文件夹下的config.py中主要定义数据集的位置,训练轮数,batch_size以及本次选用的模型. # 定义训练集和测试集的路径 train_data_path = "./data/train/" train_anno_path = "./data/trai
随机推荐
- 干货 | Linux新手入门好书推荐
- 基于CORS实现WebApi Ajax 跨域请求解决方法
- Flex正则表达式判断中文或全角字符代码
- 四个步骤加强网络防护
- Mysql允许外网访问设置步骤
- 浅谈AngularJS中ng-class的使用方法
- 关于RequireJS的简单介绍即使用方法
- Android应用开发中数据的保存方式总结
- php学习笔记之面向对象编程
- php 防止单引号,双引号在接受页面转义
- ASP函数大全解析
- 学会使用C#异常
- jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
- java反射之方法反射的基本操作方法
- 使用vue的v-for生成table并给table加上序号的实例代码
- javascript 基础篇2 数据类型,语句,函数
- C/C++实现对STORM运行信息查看及控制的方法
- ewebeditor在.net的使用方法
- javascript跨域请求包装函数与用法示例
- Android滑动事件冲突详解(一)