zoukankan      html  css  js  c++  java
  • 基于PO模式和单例模式的Python+Selenium UI自动化框架设计【多测师】

    一、创建一个project、每个包的分层如下:

    upfile1575590824609.png

    最终的框架结构:
     


    二、config包中创建一个config.ini主要用于存储当前项目的绝对路径,[project]表示section节点   project_path表示option
     

    globalconfig里面首先通过ReadConfigIni这个类创建一个对象,用对象调用实例方法getConfigValue读取ini文件里面的
    section和option来获取project_path对应的value,从而可以获取到项目的绝对路径
    作用:
    1、可以把项目的绝对路径设置为一个常量
    2、可以通过项目路径拼接report、Data和TestCase的路径来获取报告、数据和测试用例的路径、这个可以为后面的跑测试用例
    打下基础。

     


    三、Data包当中下面有一个data.xlsx文件、这个文件主要用于存放需要被测对象的url地址和账号密码信息等等,都可以通过xlrd模块来进去读取
     


    四、DoExcel.py这个模块当中实现的主要是用来读取上面data.xlsx这个文件内容的,首先要引入一个模块xlrd这个模块可以在dos窗口通过pip install xlrd来进行安装
    可以通过xlrd.open_workbook打开一个Excel文件,然后通过 sheet_by_name方法来打开具体的哪个sheet文件
    然后通过cell方法去获取对应行和列的value值
     


    五、ReadConfigIni模块主要是用来读取ini格式结尾的文件的,通过section节点和option来获取对应的value值
     


    六、创建一个BasePage模块主要是封装所有页面的公共类,然后创建driver对象,这个driver对象而且是单例的并且把
    元素定位方式也封装了一遍这是为后面的PO设计模式做准备
     
     


    七、Place_Order模块封装的是登录的整个流程、用到了PO设计模式
    PO的意思就是page object页面对象模型
    1、所有当前页面的元素都是当前页面对象的属性
    2、优点就是元素定位容易修改
    3、缺点就是代码量过多
    4、这里只举了一个小例子、如果元素定位比较多的话需要单独封装在一个类当中
     


    八、TestCase层开始编写测试用例、继承unittest.TestCase类
    unittest单元测试框架是用来管理和组织测试用例的
    可以按照类开始=》方法开始=》函数体=》方法结束=》类结束的步骤运行测试用例
     


    九、run_all模块里面主要封装了自动搜索用例、并且通过runner对象运行测试用例并且生成测试报告
    还封装了发送邮件的方法
     


    十、mail模块当中主要封装了发送邮件的类和方法、可以把生成的报告以附件和HTML格式发送到规定的邮箱中
     
     


    十一、框架的总结:
    '''
    框架总结
    优点:
    1.层次分明
    2.模块化
    3.降低耦合性
    4.易于维护 -- 元素定位修改比较方便
    5.代码复用性大 -- 登录方法可以重复使用
    缺点:
    1.比较繁琐,代码量比较多
    2.方法调用比较多,出现问题比较难定位'''
    '''
    对于验证码的处理1.开发会给一个万能的验证码
    2.后台数据库对验证码会进行配置项管理 Y表示打开 N表示关闭
    在后台数据库可以直接关闭'''

  • 相关阅读:
    java数组
    java 常用类
    java 集合(一)
    mysql相关操作(一)
    记录java BigDecimal
    hxg-yw
    一个困惑我好久的问题
    关于重载和重写的一些小知识
    几个常用的HTTP状态码
    死锁产生的原因和条件简述
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/12865272.html
Copyright © 2011-2022 走看看