zoukankan      html  css  js  c++  java
  • 多测师讲解ui自动化框架设计思想_高级讲师肖sir

    UI自动化框架:
    UI自动化框架可以分为8个模块,conf、data、public、pageobject、testcase、runner、report、log。
    conf是用来储存系统环境、数据库、邮件的配置参数、项目的绝对路径、各个模块的绝对路径,其中文件有ini、yaml、xlsx文件等,通过响应的方法来处理相应的文件。ini文件一般通过继承configparse模块进行处理,yaml一般使用@unittest.skip@file_data@unpack装饰器进行读取,xlsx主要通过引用openxlrd、xlrd、xlwt、xlutils处理。
    data是用来储存用来进行测试用例的测试数据,通过xlsx处理,然后通过公共的读xlsx方法进行处理。
    public可以分为两部分,一部分可以用来储存自己设计的模块,如调用数据库模块,用到pymysql模块、日志输出模块用到logging模块、邮件发送模块用到smtp模块和email模块、处理ini文件模块用到configparse模块、读取xlsx测试用例数据模块用到openxlrd模块、xlrd模块、xlwt模块、xlutil模块,另一部分是用来封装对UI页面的处理基类,用到的selenium模块,其中包括选择驱动、打开网页、定位元素、鼠标移动、鼠标点击、动态等待、输入内容等。Base类中通过设置一个set-driver的类方法建立一个driver对象,然后测试用例来调取这个Base类中的set-driver方法中的driver对象,就可以通过单例模式来实现测试用例。有时候我们还在这个模块中针对每个流程进行封装。
    pageElement是封装了当前界面的所有元素,这样我们就实现了元素定位、流程、案例的分离,降低代码之间的耦合度,降低维护成本。
    testcase是用来封装测试用例,在此模块中我们可以通过调用基类的set-driver类方法实现单例模式。通过unitest框架继承unitest.TestCas设计测试用例。用到ddt数据驱动来输入测试数据。
    runner是用来封装要运行的测试用例,还是通过使用unitest模块中的unitest.TestSuite来装测试用例,unitest.TestRunner,HTMLTestRunner来执行测试用例。
    report是用来存储运行测试用例后的结果,用到HTMLTestRunner。
    log是用来储存运行测试用例的日志,用到logging模块,设置输出的控制台的日志等级,设置输出到文件的日志等级等。

  • 相关阅读:
    关于NSDictionary的一点感悟
    (转)UITableView使用详解 相当详细,不错的东东
    UITextField的总结
    警告框(AlertView)与进度轮结合使用
    [转]自定义UITableView各种函数
    UISegmentedControl的所有操作总结
    英特尔多核平台编程优化大赛报告
    Makefile完全解析PART1.入门
    Makefile完全解析PART3.书写规则
    Makefile完全解析PART2.原理
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13799592.html
Copyright © 2011-2022 走看看