• python接口:在一个用例文件中调用另一个用例文件中定义的方法


    说明

    在进行接口测试时,经常会遇到不同接口间传递参数的情况,即一个接口的某个参数需要取另一个接口的返回值;

    在平常写脚本过程中,我经常会在同一个py文件中,把相关接口的调用方法都写好,这样在同一个文件中能够很方便的进行调用;

    后来随着功能增多,在写其他py文件时,有时也会先调用某个相同的接口来获取参数;

    如果在每个py文件中都写一遍调用某个接口的方法,会显得很啰嗦,也不好维护,并且以后万一提供数据的那个接口发生变化,需要调整很多地方;

    所以,当我们在一个用例py文件中写好某个接口调用方法,后续如果在其他py文件中也要用到这个接口的返回值,则直接引用先前py文件中定义好的接口调用方法即可。

    实例

    接口功能说明:

    A接口--调用A接口可以生成一条数据,每条数据对应一个id

    B接口--调用B接口可以返回一条数据的详情,但是调B接口时,需要一个必要参数即数据id

    1、新建一个py文件,例如test_A.py

    内容如下 

    复制代码
    
    
    复制代码

    在这个文件中创建了一个类:CreateActivity,继承自unittest.TestCase

    然后在setUp方法中进行了一些必要的初始化工作

    最后创建了一个名为push_file_download的方法,它的作用就是调某个接口,来生成数据

    2、新建另一个py文件,例如test_B.py

    内容如下

    复制代码
    
    
    复制代码

    (1)首先导入了 CreateActivity类

    (2)第18行,创建了一个名为 view_activity 的方法,它作用是查看数据详情

    (3)第44行,创建一条查看活动数据详情的测试用例 test_case_01

    接下来是重点:在这条用例下调用 view_activity 方法,而view_activity方法有一个必传参数id,这个id就是由test_A.py文件中 CreateActivity 类下的 push_file_download 方法生成的;

    所以这里要先调用下 push_file_download 方法,对应第48~51行代码

     

    注意到上述代码在对CreateActivity类进行实例化得到temp后,先调用了setUp方法;

    因为CreateActivity类下的push_file_download要想正常运行,也依赖于setUp方法先进性初始化工作(例如读取配置文件、调用其他方法等);

    所以当跨文件调用push_file_download方法,对CreateActivity类进行实例化后,也需要先调用其setUp方法进行初始化工作,不然直接调用push_file_download方法的化,会报错(由于缺少运行push_file_download方法所需的一些条件);

    总结:说了这么多其实只是想要说明一点,当跨用例文件进行调用某个方法时,需要看下这个方法是否依赖于其他方法,如果有依赖的话,则需要先调用其将依赖的方法

    本文转自:https://www.cnblogs.com/hanmk/p/13279637.html#4642502

  • 相关阅读:
    @Value注解读取配置,给静态变量赋值
    SpringBoot中非Controller类调用service方法出现null空指针
    nacos多环境配置
    spring项目将配置迁移至nacos
    链表的翻转(java)
    java.lang.IllegalAccessError: tried to access method org.apache.poi.util.POILogger.log from class org.apache.poi.openxml4j.opc.ZipPackage
    SQL SERVER 存储过程将SELECT 数据集赋值给新表某个字段
    SQLServerException:将截断字符串或二进制数据
    获取mysql数据库表表头所有字段
    软工实践个人总结
  • 原文地址:https://www.cnblogs.com/pantheryao/p/13891762.html
Copyright © 2020-2023  润新知