Airtest里引用外部.art脚本函数或python第三方库函数

引用别的.air脚本中封装好的方法或python第三方库的几种方式

  • 1.通过相对路径或绝对路径确定脚本位置进行引用
  • 2.设定默认项目根目录
  • 3.Airtest根目录下import调用
    • 1. 在AirTestIDE根目录下创建一个文件夹放置引用脚本,可以使用Import的方式来更方便的调用(该方式适用于不引用python第三方库且未指定本地python环境)。
    • 2. 引用第三方python库
      • 2.1先设置AirTestIDE配置本地python环境
      • 2.2 pip install airtest 、pip install pocoui
      • 2.3 在设置的python解释器同级目录下新建my_api
      • 2.4新建py文件
      • 2.5从airtest脚本中引用py文件中包含第三方库函数

1.通过相对路径或绝对路径确定脚本位置进行引用

airtest.core.api的using方法,根据引用脚本的相对路径或绝对路径,可以调用被引用脚本内部的公共函数
例:创建一个被引用函数get_time.air

# -*- coding: utf-8 -*-
# @Time    : 2021/1/9 11:22
# @Author  : Yu
# @Site    : 
# @File    : get_time.py
# @Software: PyCharm

import datetime

def print_time():

    return datetime.datetime.now()


if __name__ == '__main__':
    print(print_time())

同级目录下再创建一个test.air脚本来引用get_time.air内的公共函数print_time函数

from airtest.core.api import using
using("get_time.air")
from get_time import print_time
print(print_time())

运行后:

1 [15:54:19][DEBUG]<airtest.core.api> using path: D:\AirtestIDE\get_time.air
2 2021-01-09 15:54:19.701231

首先需要import核心库的using方法,然后using方法输入参数为被引用脚本名称,然后import被引用脚本内的方法即可。

2.设定默认项目根目录

随着项目的扩展脚本达到一定的数量,而且模块之间需要互相调用时;我们可以设置一个项目根目录,这样更便于管理,也可以更加方便的对方法1进行引用

如:设定根目录D:\workspace

在此放置被引用的脚本get_time,引用内部函数 print_time

ST.PROJECT_ROOT='D://workspace'
using('get_time.air')
from get_time import print_time
print(print_time())

首先设置根目录地址,然后按照方法一的方式引用脚本内函数即可。
得到结果:

[15:59:19][DEBUG]<airtest.core.api> using path: D://workspace\get_time.air
2021-01-09 15:59:19.701231

3.Airtest根目录下import调用

1. 在AirTestIDE根目录下创建一个文件夹放置引用脚本,可以使用Import的方式来更方便的调用(该方式适用于不引用python第三方库且未指定本地python环境)。

首先要AirTestIDE的根目录下创建一个文件夹my_api
Airtest里引用外部.art脚本函数或python第三方库函数_第1张图片

将脚本保存至该目录下
当需要引用该脚本内的方法时:

from my_api.get_time import print_time
print(print_time())
#得到结果:
2021-01-09 16:02:09.701231

2. 引用第三方python库

2.1先设置AirTestIDE配置本地python环境

Airtest里引用外部.art脚本函数或python第三方库函数_第2张图片

2.2 pip install airtest 、pip install pocoui

2.3 在设置的python解释器同级目录下新建my_api

Airtest里引用外部.art脚本函数或python第三方库函数_第3张图片

2.4新建py文件

# -*- coding: utf-8 -*-
# @Time    : 2021/1/9 11:22
# @Author  : Yu
# @Site    : 
# @File    : get_holiday.py
# @Software: PyCharm

import datetime
from chinese_calendar import is_holiday
# 该第三方库年份仅支持[2004-2021]

def fun_is_holiday(date_time):
    """
    :param date_time: 当前时间--->yyyy,mm,dd
    :return: 当前时间是否是法定节假日 -->True or False
    """
    return is_holiday(date_time.date())


if __name__ == '__main__':
    print(fun_is_holiday(datetime.datetime.now()))

2.5从airtest脚本中引用py文件中包含第三方库函数

# -*- encoding=utf8 -*-
__author__ = "Yu"

import datetime
from airtest.core.api import *
from my_api.get_holiday import fun_is_holiday

print(fun_is_holiday(datetime.datetime.now()))

运行后:

True

你可能感兴趣的:(自动化测试工具,airtest,软件测试,python,测试工程师)