Airtest启动器的妙用--添加自定义的变量

简介: Airtest启动器的妙用--添加自定义的变量

前言



上周我们了解了如何利用Airtest启动器,在运行Airtest脚本时,添加自定义的命令行参数,这周我们继续来学习Airtest启动器的妙用:


在Airtest启动器中,添加自定义的变量给 .air 脚本使用!


添加自定义变量



1.在启动器中新增变量


launcher.py 的脚本中,新建1个自定义的变量 hunter


from airtest.cli.runner import AirtestCase, run_script
from airtest.cli.parser import runner_parser
class CustomAirtestCase(AirtestCase):
    def setUp(self):
        self.scope["hunter"] = "i am hunter"
if __name__ == '__main__':
    ap = runner_parser()
    args = ap.parse_args()
    run_script(args, CustomAirtestCase)
复制代码


2.在 .air 脚本中直接使用启动器的变量


在启动器定义好后续的 .air 脚本都要使用到的变量之后,我们就可以用该启动器来运行Airtest脚本。并且在 .air 脚本中,我们能够直接使用这些变量,无需重新定义:


# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
auto_setup(__file__)
print("启动器定义的变量:"+hunter)
复制代码


3.在命令行中用启动器运行 .air 脚本


网络异常,图片无法展示
|


4.在AirestIDE中更换启动器运行Airtest脚本


其实在AirtestIDE中,有一个默认的启动器脚本:


网络异常,图片无法展示
|


该启动器的作用,包含但不限于 把当前运行的代码行标出颜色 等等,我们也可以将这个默认的启动器更换成我们自定义的启动器脚本:


网络异常,图片无法展示
|


这样直接在IDE点击运行脚本的按钮,就会直接使用我们自定义的启动器来运行当前的 .air 脚本:


网络异常,图片无法展示
|


添加自定义的环境变量



1.在启动器中添加环境变量


当然,除了在启动器的 setUp() 方法中,自定义变量给Airtest脚本用之外,我们还可以在启动器中以添加环境变量的方式,传变量给 .air 脚本:


from airtest.cli.runner import AirtestCase, run_script
from airtest.cli.parser import runner_parser
import os
os.environ['HOST'] = "192.168.0.1"
class CustomAirtestCase(AirtestCase):
    def setUp(self):
        self.scope["hunter"] = "i am hunter"
if __name__ == '__main__':
    ap = runner_parser()
    args = ap.parse_args()
    run_script(args, CustomAirtestCase)
复制代码


2.在Airtest脚本中使用启动器的环境变量


# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
import os
auto_setup(__file__)
print("启动器定义的变量:"+hunter)
print("启动器的环境变量:"+os.environ.get('HOST'))
复制代码


3.在IDE中使用该启动器运行Airtest脚本


运行Airtest脚本之前,已将IDE的 选项--设置--自定义Launcher文件路径 设置为自定义的 launcher.py 的路径:


网络异常,图片无法展示
|


小结


今天的教程就到这里啦,关于Airtest启动器的更多妙用,欢迎同学们移步上周的推文:“Airtest启动器的妙用--添加自定义的命令行参数”

相关文章
|
定位技术 API
基于Leaflet.draw的自定义绘制实战
本文介绍了如何基于leaflet.draw进行自定义绘制,同时获取对象的bbox和geojson信息。
1052 0
基于Leaflet.draw的自定义绘制实战
|
机器学习/深度学习 自然语言处理 算法
多模态融合可能的突破方向
【2月更文挑战第21天】多模态融合可能的突破方向
328 1
多模态融合可能的突破方向
|
运维 Java Nacos
nacos常见问题之配置账号密码
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
1281 6
|
11月前
|
JSON 测试技术 数据格式
Playwright 测试报告器
Playwright 测试报告器
386 4
|
11月前
Playwright 测试重试
Playwright 测试重试
272 2
|
12月前
|
机器学习/深度学习 人工智能 自动驾驶
2024.10|AI/大模型在机器人/自动驾驶/智能驾舱领域的最新应用和深度洞察
本文介绍了AI和大模型在机器人、自动驾驶和智能座舱领域的最新应用和技术进展。涵盖多模态大语言模型在机器人控制中的应用、移动机器人(AMRs)的规模化部署、协作机器人的智能与安全性提升、AR/VR技术在机器人培训中的应用、数字孪生技术的优化作用、Rust语言在机器人编程中的崛起,以及大模型在自动驾驶中的核心地位、端到端自动驾驶解决方案、全球自动驾驶的前沿进展、智能座舱的核心技术演变和未来发展趋势。
876 2
|
Python
【Python】【Pandas】将符合条件行的某列数值改为负数
在此顺便记录几个常用代码写法: 1.不重复取出一列的值data[列名].unique()或者data[列名].value_counts(sort=False) 2.对取出的列值进行格式处理
325 0
|
12月前
|
SQL 数据库管理 索引
SQL语句查询教师表:高效构建与技巧分享
在数据库管理中,查询操作是最基础也是最重要的功能之一
|
SQL 关系型数据库 MySQL
在Linux中,mysql 数据备份工具有哪些?
在Linux中,mysql 数据备份工具有哪些?
|
机器学习/深度学习 Python
深入了解CatBoost:自定义目标函数与度量的高级教程
深入了解CatBoost:自定义目标函数与度量的高级教程【2月更文挑战第18天】
627 1