zoukankan      html  css  js  c++  java
  • python专项测试——Android App自动化测试框架

    1 为什么需要框架?

      代码混乱,难阅读; 重复编码,效率低;需求变化,难维护;

    一 自动化实例

    1 准备测试的app;准备测试环境;实现脚本;

    2 测试app:只有登录功能

       测试环境:

    • Appium(Android/IOS);
    • Android SDK;
    • Appium-Python-Client;
    • Selenium(Appium-Python-Client继承于Selenium); 
    • UIAutomatorViewer
    • Pycharm

    3 实现脚本

    在Pycharm中编写脚本;

    用UIAutomatorViewer进行定位;

    借助Appium—Python—Client实现的api;

    借助Appium—Python—Client的字典实现属性;

    运行脚本之前要启动Appium并进行设置,如果出现“新的session无法建立”的错误,请释放资源并重启Appium。

    二 测试框架Unittest

    1 主要讲解:Test Fixture;   Test Case;  Test Suite; Test Runner

    Test Fixture包括准备,执行,清理的过程;对应到脚本上是:setup(),  testcase(),  teardown()

       其他三项已知。

    3 脚本

    三 数据驱动框架

    1 如何使用?准备第三方库——首先安装ddt库,其次在脚本中引入ddt,  然后就OK

    具体:

    • 到Python 官网下载ddt库;
    • 在脚本中导入ddt库的命令:from ddt import ddt, data, unpack
    • 在测试类前标注ddt :@ddt
    •                               class MookTestCase(unittest.TestCase) ,说明本次的测试类是使用数据驱动框架
    • 测试用例主要分为有参数和无参数,数据驱动主要用于带参数的测试用例
    • 对于有一个参数的用例,使用元组存放被测试的数据,并加上data标注:@data(1, -3, 2, 0)
    •                                                                                                def testcase(self, value):
    • 对于有多个参数的用例,使用元组存放被测试的数据,并加上data标注:@data((3,2),(4,3), (5,3))
    •                                                                                                @unpack
    •                                                                                                def testcase(self, value1, value2):

    2 脚本中应用

    3 应用了ddt框架后,单独运行某条case的语句不再适用,但可以加载运行整个测试类。

     

     

     

  • 相关阅读:
    Go语言中DateTime知识点
    Go语言中的string知识点
    Go语言中的Iota
    Go语言的通道(2)-缓冲通道
    Go语言的通道(1)-无缓冲通道
    Go语言协程
    设计一个好的通用组件
    Windows服务器【由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作】问题调查
    Go语言的并发
    SCSS 中的 &::before 和 &::after
  • 原文地址:https://www.cnblogs.com/insist8089/p/7044667.html
Copyright © 2011-2022 走看看