auto_setup接口 connect_device | init_device

news/2024/6/19 6:26:03

auto_setup是一个用来初始化环境的接口,它接受5个参数。我们可以设置当前脚本所在路径,指定运行脚本设备、设置默认的log路径、设置脚本父路径和指定截图精度

auto_setup(basedir=None,devices=None,logdir=None,project_root=None,compress=0)
自动配置运行环境,如果当前没有连接设备,默认尝试连接Android设备
参数
·basedir -设置当前脚本所在路径,也可以直接传__file__变量进来
·devices - 一个内容为connect_device uri 字符串的列表
·logdir - 可设置脚本运行时log保存路径,默认值为None则不保存log,如果设置为True则自动保存在<basedir>/log目录中
·project_root - 用于设置PROJECT_ROOT变量,方便using接口的调用

其中第二个参数指定运行脚本设备,我们可以在这里传入待连接设备的uri字符串,例如

#连接本机默认端口连的一台设备号为SJE5T17B17的手机
auto_setup(__file__,devices=["Android://127.0.0.1:5037/SJE5T17B17"])

注意 devices传入的是一个字符串列表,所以如果需要连接多台设备,直接用,隔开多个URI字符串即可

#连接本机默认端口连的设备号为123和456的两台手机
auto_setup(__file__,devices=["Android://127.0.0.1:5037/123","Androd://127.0.0.1:5037/456"])
AirtestIDE中py脚本,初始化代码
from airtest.core.api import *
from airtest.cli.parser import cli_setup

if not cli_setup():
    auto_setup(__file__, logdir=True, devices=[
        "Android:///?cap_method=javacap&ori_method=adbori",
    ])
了解过auto_setup接口后,可以知道,
一个纯.py的初始化代码,可以是这样
from airtest.core.api import *
from airtest.cli.parser import cli_setup

if not cli_setup():
	auto_setup(__file__,logdir=True,devices=["Android://127.0.0.1:5037/SJE5T17B17"])

2.使用connect_device接口

在connect_device接口中传入设备的uri字符串即可连接一台设备
dev = connect_device("Android://127.0.0.1:5037/SJE5T17B17")
connect_device(uri)
用uri来初始化设备,并且设置为当前设备
参数 uri 一个用于初始化设备的uri字符串
返回 device对象
多台设备 可以编写多条connect_device脚本,并且用set_current来切换到当前使用设备
#连上第一台手机
dev1 = connect_device("Android://127.0.0.1:5037/serialno1")
#连上第二台手机
dev2 = connect_device("Android://127.0.0.1:5037/serialno2")

#切换当前操作手机到序列号为serialno1的手机
set_current('serialno1')

3.使用init_device接口

init_device 接口只需要传入 设备平台和设备的uuid即可
init_device(platform = 'Android',uuid='SJE5T17B17')

http://www.niftyadmin.cn/n/605320.html

相关文章

部署cmp时的教训

原来数据库服务器随系统启动而启动&#xff0c;前几天把数据库服务改为手动启动后一直没有部署过cmp&#xff0c;直到昨晚做cmp作业时&#xff0c;部署cmp jboss就报出n多错误&#xff0c;眼花缭乱啊。还没等报完错误&#xff0c;我就关了jboss&#xff0c;心想怎么会这样的呢&…

关于Remoting

这几天看了不少Remoting文章。明白了不少技术细节&#xff0c;但困惑也不少。简单说来&#xff0c;Remoting是一个分布式处理服务。服务器端首先创建通道&#xff08;Channel&#xff09;&#xff0c;并自动开启监听通道。根据客户端发出的请求&#xff0c;传递远程对象。 因此…

语法技巧(三目运算符、switch...case...)

一、三目运算符 三目运算符的一种简便写法&#xff1a; bool b str "abc" ? false : true; 当是自身时&#xff0c;实际上别吝啬那一个括号&#xff0c;有一个括号&#xff0c;实际上更容易一看就看懂&#xff1a; int i 0;i (i 0) ? 1 : 0; 实际上这样的代码…

.NET Remoting 体系结构评估

.NET Remoting 体系结构评估 Pat MartinMicrosoft Corporation 2003年5月 适用于&#xff1a;Microsoft .NET FrameworkMicrosoft .NET Remoting 摘要&#xff1a;本文适用于要将 .NET Remoting 用于分布式多层应用程序设计的人员。文章从开发人员的角度介绍了该技术的功能。…

__init__构造方法

属性是变量&#xff0c;方法是函数 函数使用变量就是面向对象self.是为了使变量能在类中跨函数使用。 不写self. python只能在当前函数中找变量。写上self.python会在当前类中找变量class Mystuff(object):def __init__(self):self.age 18def print_age(self):age1print(age…

关于Remoting(续)

昨天写了文章《关于Remoting》&#xff0c;感觉有些问题没有说清楚。后来又看了一些文档和书&#xff0c;整理了一下&#xff0c;就算是续吧。 其实我发现主要的问题还是集中在客户端激活模式。我想再谈谈客户端激活模式和服务器端激活模式两者在代码实现上的区别。这两种模式在…

linux portmap和nfs

portmap进程的主要功能是把RPC程序号转化为Internet的端口号当一个RPC服务器启动时&#xff0c;会选择一个空闲的端口号并在上面监听&#xff08;每次启动后的端口号各不相同&#xff09;&#xff0c;同时它作为一个可用的服务会在portmap进程注册。一个RPC服务器对应惟一一个R…

navicat excel 导出数据 导入数据踩坑日记

附加选项 附加选项&#xff0c;一般默认即可&#xff0c; 栏位名行&#xff1a;数据表字段所在行位置 第一个数据行&#xff1a;所导入源数据从第几行开始 最后一个数据行&#xff1a;所导入数据到第几行结束 温馨提示&#xff1a;以上选项内容一定要填写正确&#xff0c;否则…