当前位置:   article > 正文

【自动化框架】

自动化框架

自动化测试框架就是:为了对一个指定的系统做自动化测试而封装的一个半成品,自动化测试攻城狮可以调用这个半成品封装好的方法去实现一个指定系统的自动化测试。

根据驱动模式不同自动化测试框架分为四种模式:

(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.py,Excel读写工具:excel_util.py,日志处理:logger_util.py文件。

data为excel数据文件。都是数据文件

log为生成的日志文件。

pageobject为PO模型层。

report为生成的测试报告文件夹

testcase为测试用例层。

 

all.py为总执行文件。

  1. import HTMLTestRunner
  2. import unittest
  3. from common.config_util import get_project_path, get_config
  4. if __name__ == '__main__':
  5. test_dir = get_project_path()+"testcase"
  6. dis=unittest.defaultTestLoader.discover(test_dir,pattern="*.py")
  7. #now = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
  8. #filepath = get_project_path()+"/report/"+get_config("reportSet","reportFileName")+now+".html"
  9. filepath = get_project_path()+"/report/report.html"
  10. fp = open(filepath,"wb")
  11. runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title="携程网自动化测试报告",description="报告详情如下")
  12. runner.run(dis)
  13. fp.close()

config.ini为全局配置文件。

  1. #浏览器选择(不区分大小写,谷歌:Chrome;火狐:Firefox;IE:Ie;)
  2. [Browser]
  3. browserName = Chrome
  4. #被测项目地址设置
  5. [testUrl]
  6. url=https://trains.ctrip.com/TrainBooking/SearchTrain.aspx###
  7. #框架日志设置
  8. #(分别为日志文件前缀,文件日志级别,文件日志格式,控制台日志级别,控制台日志格式)日志级别共五级(不区分大小写,默认为INFO):DEBUG,INFO,WARNING,ERROR,CRITICAL
  9. [logSet]
  10. LogFileName = log_
  11. fileLogLevel = INFO
  12. fileLogFormatter = [%(asctime)s] %(filename)s->%(funcName)s line:%(lineno)d [%(levelname)s] %(message)s
  13. consoleLogLevel = INFO
  14. consoleLogFormatter = [%(asctime)s] %(filename)s->%(funcName)s line:%(lineno)d [%(levelname)s] %(message)s
  15. #框架报告设置(报告文件名称设置)
  16. [reportSet]
  17. reportFileName = report_
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/821048
推荐阅读
相关标签
  

闽ICP备14008679号