zoukankan      html  css  js  c++  java
  • (原创)Python 自动化测试框架详解

    自己折腾了一个python的自动化测试框架,梳理了一下流程,简单分享一下。

    项目背景

    B/S架构,进行用户界面的自动化测试

    工具选择

    python开发的自动化测试框架,足够灵活,可以随时根据需求进行变更,易于维护

    框架思路(unittest)

    采用数据驱动的设计,将数据分层出来,与业务逻辑剥离,测试人员专注测试用例,不用关注代码,提高了测试效率

    测试框架介绍

    测试工程的结构如下: 

    Data目录

    存放涉及业务的资源,例如上传图片场景的图片资源

    Driver目录

    存放浏览器驱动文件

    Excel目录

    存放测试用例(重要)

    4个sheet分页,如下:

    PageElements分页                 –存储页面元素的关键字定位信息 

    TestConfig 分页               --配置信息 

    TestSuite 分页                 --测试用例标题 

    TestSteps 分页                --测试用例的执行步骤 

    Package目录 

    封装的方法简介

    assertUtil.py           --断言

                     assert_equal                    """预期结果和实际结果 相等"""

          assert_prompt                 """页面提示信息"""

          …

    base.py                --涉及系统的信息(暂时不用)

                       base_get_hostname     """获取本机电脑名"""

                       base_get_ip                 """获取本机ip"""
                       …

    browserUtil.py      --浏览器的操作

          browser_title                """获取当前浏览器标题"""

                     browser_url                  """获取当前浏览器URL"""

                     …

    excelUtil.py          --excel文件的操作

                       excel_open               """打开excel文件(xls)"""

                       excel_sheet              """指定sheet页面"""

                       excel_cell_data          """获取指定单元格内容"""

                       …

    keysUtil.py         --键盘操作

    location.py         --封装页面元素定位

    login.py             --登录业务

    objectMap.py     --关键字映射

                       ob_key_input       """根据关键字input执行页面元素查找"""

                       ob_key_click        """根据关键字click执行页面元素查找"""

                       …

    util.py               --通用场景

                       ut_highlighted     """元素高亮"""

          …

    Picture 目录 

    存放用例执行的报告

    Test_case 目录 

    存放测试用例执行脚本

    Config.py

    存储常量、配置信息之类的信息

    PageElements.py 

    存储页面元素信息

    例如登录页面的3个控件: 

    "登录-输入用户名"                                                 --表示用户名输入框

    "input>css>input[placeholder='请输入账号']"        

    Input                                                                 –定义的关键字

    Css                                                                   –元素定位方式

    input[placeholder='请输入账号']                             --元素定位表达式

    测试用例执行的流程图:

    步骤1:

    执行TestCase_UI.py脚本,用例启动 

    步骤2:

    读取excel目录下测试用例(*.xls)

    TestConfig分页:

    获取浏览器启动类型              --启动相应浏览器

    获取URL地址                      --打开URL地址

     

    步骤3:

    读取TestSuite分页:

    逐行读取测试用例执行标识,标识为“yes”表示执行该条用例,为“no”跳过该用例 

    获取“测试用例序号”

    步骤4:

    读取TestSteps分页:

    按照“测试用例序号”读取测试用例执行步骤

    例如VDT_WDGZT_001用例,存在4个步骤,逐行读取“测试步骤描述”

    步骤5:

    读取PageElements分页:

    按照“测试步骤描述”读取关键字、页面定位元素、页面元素定位表达式 

    按照关键字、页面定位元素、页面元素定位表达式 定位到页面元素执行相应操作

    例如如下3个步骤:

    在输入框中输入“搜索资源”

    单击搜索按钮

    执行检查点操作

    注意:

    每个步骤执行完毕,根据执行的情况在测试用例中回写“测试结果”

    例如“我的工作台”步骤执行成功,在TestSuite分页,“测试结果”填写“用例步骤执行成功”

    相应的在TestSteps分页,测试用例1,的“测试结果”填写“用例执行成功” 

    如果用例步骤执行失败

    例如“公共-登录用户名称检查” 步骤执行失败,在TestSuite分页,“测试结果”填写“用例步骤执行失败”,“页面截图”填写失败截图的路径 

    相应的在TestSteps分页,测试用例1,的“测试结果”填写“用例执行失败” 

    测试用例步骤出现失败的情况,则不再执行该用例的剩下的步骤,开始执行下一个测试用例

    步骤6:

    一条测试用例执行完毕,重复执行步骤3、4、5,直至全部测试用例执行完毕

    步骤7:

    用例执行完毕,输出测试报告,报告详情:

     

    测试用例执行日志

    例如在测试用例中勾选2个用例执行,执行日志如下: 

  • 相关阅读:
    吴裕雄--天生自然 PYTHON数据分析:糖尿病视网膜病变数据分析(续三)
    吴裕雄--天生自然 PYTHON数据分析:糖尿病视网膜病变数据分析(续二)
    吴裕雄--天生自然 PYTHON数据分析:糖尿病视网膜病变数据分析(续一)
    吴裕雄--天生自然 PYTHON数据分析:糖尿病视网膜病变数据分析
    吴裕雄--天生自然 R数据分析:2014年美国人时间使用调查(ATUS)饮食与健康模块文件分析
    吴裕雄--天生自然 PYTHON数据分析:所有美国股票和etf的历史日价格和成交量分析
    吴裕雄--天生自然 中医研究学习:入门
    吴裕雄--天生自然 python数据分析:健康指标聚集分析(健康分析)
    回首2018 | 分析型数据库AnalyticDB: 不忘初心 砥砺前行
    如何玩转跨库Join?跨数据库实例查询应用实践
  • 原文地址:https://www.cnblogs.com/titan5750/p/6961360.html
Copyright © 2011-2022 走看看