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模式就是这样了,新人勿喷,可以提建议

  • 相关阅读:
    iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)
    iOS NSArray数组过滤
    App Store2016年最新审核规则
    iOS 根据字符串数目,自定义Label等控件的高度
    iOS 证书Bug The identity used to sign the executable is no longer valid 解决方案
    Entity FrameWork 增删查改的本质
    EF容器---代理类对象
    Entity FrameWork 延迟加载本质(二)
    Entity FrameWork 延迟加载的本质(一)
    Entity FrameWork 增删查改
  • 原文地址:https://www.cnblogs.com/xiongxiaoyan/p/11793146.html
Copyright © 2011-2022 走看看