zoukankan      html  css  js  c++  java
  • (十五)Appium+Python自动化测试PO模式

    Appium+Python自动化测试PO模式

    PO模式属于selenium的一种设计模式,套用在appium身上了(实践表明,合适,因为selenium和appium"本是同根生")

    Data:测试数据。后期准备把代码中会所有测试数据都整合到excel或者xml内,Data文件夹就是这个用处
    PO:所有Page。以Base页面为基础(看下图分析,来理解PO)

    Page:存放页面元素的定位
    Public:一些公共的方法,比如测试报告脚本,封装好的
    Report:测试结果,包括测试报告和截图

    Runner:测试套件,利用HTMLTestRunner.py,输出测试报告到/Report下
    TestCase:测试用例都放这儿

    yamlFile;存放配置数据

     

     1.Page

    Page这个文件夹主要是用来放页面元素的,可以先将测试时要用到的页面元素定位都写到这个文件,如下图

     所有页面元素都是采用By来定位的,具体可以去网上百度By的定位方法

    2.Public

    这里放的就是公用的方法和启动的方法

     1)启动方法

    返回的是driver,这里面的配置参数都是从yaml文件中读取的,不知道yaml数据配置的,可以看这篇:https://www.cnblogs.com/xiongxiaoyan/p/11727733.html

     

     2)公用方法

    主要是重写find_element,click(),send_keys(),clear(),以及其他我常用到的方法,如下图__init__()方法是一个构造函数,在实例化类的时候就会自动执行这个方法:

      

     我封装的其他常用方法:

     

    3.TestCase

    这个文件夹存放的是测试用例,一个模块一个文件,一个文件里面包含多条用例

    我将用到的模块公用方法单独写在上面,可以避免代码冗余

     

     

     

     

     

      

     将用到的方法单独提出来,写测试用例时代码就不用写的那么繁琐了,如下图:

    1)新建文件夹,直接调用新建文件夹方法

     2)删除

     

     3)复制

     4)移动

     

    注意:在写try语句时,一定要在except语句块里面加一个判断执行错误的断言,不加的话,不论执行用例是否正确,运行时脚本都会认为是pass  

     4.Runner

    Runner文件夹存放的是总的运行文件,执行时,只运行这个文件就可以

     脚本内容如下:

     

      5.Report

    这是存放报告的文件夹

    具体报告如下:

    6.yamlFile

    这是放运行数据的文件夹

     

     这个一般一开始就要配置好的,整个po模式就是这样了,新人勿喷,可以提建议

  • 相关阅读:
    安装nginx后启动提示缺少libjemalloc.so.2
    页面刷新后保持滚动条的位置
    mysql的tinyint字段返回布true / false的问题
    MySql处理死锁的解决方案
    apidoc使用记录
    微信公众号开发图片上传案例
    [ Error 分析] Comparison method violates its general contract!
    [intellij]create gradle project
    [重构]读书笔记
    [设计模式]迭代子模式 Iterator
  • 原文地址:https://www.cnblogs.com/xiongxiaoyan/p/11793146.html
Copyright © 2011-2022 走看看