网站建设中 英语,asp一个空间建多个网站系统,市场调研报告范文3000字,张家港安监站网址一、何为框架#xff1f;何为自动化测试框架#xff1f;
无论是日常技术交流#xff0c;还是在自动化测试实践中#xff0c;经常会听到一个词叫#xff1a;框架。之前对“框架”这个词知其然不知其所以然。现在看过一些资料以及加上我自己的一些实践有了我自己的一些看法…一、何为框架何为自动化测试框架
无论是日常技术交流还是在自动化测试实践中经常会听到一个词叫框架。之前对“框架”这个词知其然不知其所以然。现在看过一些资料以及加上我自己的一些实践有了我自己的一些看法。
那么什么是框架?
在自动化实践过程中框架就是一个半成品框架是指对应用系统的部分设计或实现系统的部分结构。
举个栗子selenium是不是一个框架Yes它是一个框架那么这个框架能不能对一个指定的系统比如淘宝做自动化测试答案是不能的我们还必须使用这个框架封装好的方法去实现淘宝的业务逻辑。所以说框架就是封装好的一个半成品。
那么什么是自动化测试框架
自动化测试框架就是为了对一个指定的系统做自动化测试而封装的一个半成品自动化测试攻城狮可以调用这个半成品封装好的方法去实现一个指定系统的自动化测试
还是不明白没关系下面一张图道破玄机下面这个照片框架请问是不是一个半成品不是一个完整的照片但是它又是整个照片的一部分 二、根据驱动模式不同自动化测试框架分为四种模式。
(1) 数据驱动框架
(2) 关键字驱动框架
(3) 数据驱动关键字驱动混合型驱动框架
(4) 行为驱动(lettuce)测试框架 三、自动化测试框架如何实现数据驱动框架
1.自动化测试框架最核心的是分层模式和封装
分层模式一般的情况下自动化测试框架都会分三层BasePage基础页封装层PO模型层TestCase测试用例层。这三层的关系为TestCase测试用例层调用PO模型层的元素定位和元素操作PO模型层调用BasePage基础页封装层。如下图 除了以上框架核心三层外还包括日志处理模块ini配置文件处理模块数据驱动模块jenkins持续集成模块等。
2.自动化测试框架代码结构如下图 其中
base文件夹为BagePage封装层。此文件夹下有基础方法封装base.py和基础单元测试封装base_unit.py。 common为公共的方法封装层。此文件夹下有配置文件工具config_util.pyExcel读写工具excel_util.py日志处理logger_util.py文件。 data为excel数据文件。都是数据文件 log为生成的日志文件。 pageobject为PO模型层。 report为生成的测试报告文件夹 testcase为测试用例层。 all.py为总执行文件。
import HTMLTestRunner
import unittest
from common.config_util import get_project_path, get_configif __name__ __main__:test_dir get_project_path()testcasedisunittest.defaultTestLoader.discover(test_dir,pattern*.py)#now time.strftime(%Y-%m-%d-%H_%M_%S,time.localtime(time.time()))#filepath get_project_path()/report/get_config(reportSet,reportFileName)now.htmlfilepath get_project_path()/report/report.htmlfp open(filepath,wb)runnerHTMLTestRunner.HTMLTestRunner(streamfp,title携程网自动化测试报告,description报告详情如下)runner.run(dis)fp.close()
config.ini为全局配置文件。
#浏览器选择(不区分大小写谷歌Chrome火狐FirefoxIE:Ie)
[Browser]
browserName Chrome#被测项目地址设置
[testUrl]
urlhttps://trains.ctrip.com/TrainBooking/SearchTrain.aspx####框架日志设置
#分别为日志文件前缀文件日志级别文件日志格式控制台日志级别控制台日志格式日志级别共五级不区分大小写默认为INFODEBUG,INFO,WARNING,ERROR,CRITICAL
[logSet]
LogFileName log_
fileLogLevel INFO
fileLogFormatter [%(asctime)s] %(filename)s-%(funcName)s line:%(lineno)d [%(levelname)s] %(message)s
consoleLogLevel INFO
consoleLogFormatter [%(asctime)s] %(filename)s-%(funcName)s line:%(lineno)d [%(levelname)s] %(message)s#框架报告设置报告文件名称设置
[reportSet]
reportFileName report_
四、当前自动化框架和市面上不同类型的对比。
1、当前框架使用的是三层框架
第1层、base文件夹是基础封装层
第2层、pageobject是页面封装层(包括元素定位和动作)
第3层、测试用例层。其中第2层继承第1层的基础层第3层调用第2层的动作。
2、其他不同的框架类型
(1)将第2层中的元素定位写入ini配置文件中。然后读取。
(2)分四层把第2层分解成两层分别是元素定位层、动作层。 五、总结
每个公司每个自动测试工程师封装的自动化框架都不一样没有一成不变的自动化测试框架也没有最好的自动化测试框架只有最合适的自动化测试框架最终总结出 如果你想想对自动化测试框架有更深层次的理解我推荐你看一下这套Python全套自动化测试的视频还有配套的笔记
B站讲的最详细的Python接口自动化测试实战教程全集实战最新版