Airtest输入内容总结
我们有时候在项目中会输入内容,有些能输入就直接输入,输入不了的就用到复制粘贴功能(剪切板内容),将这两种方法都总结一下。
一、输入内容
1.1、输入文字
text(text, enter=True, kwargs)
# 输入test,然后点击回车/确认
>>> text("test")
# 输入test,不点回车/确认
>>> text("test", enter=False)
1.2、模拟按键输入
keyevent(keyname, kwargs)
>>> keyevent("HOME")
# The constant corresponding to the home key is 3
>>> keyevent("3") # same as keyevent("HOME")
>>> keyevent("BACK")
>>> keyevent("KEYCODE_DEL")
二、剪切板内容
2.1、Android设备的剪切板功能(例1)
设置剪切板内容
获取并打印剪切板内容
粘贴剪切板内容
# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
auto_setup(__file__)
#设置剪贴板内容
set_clipboard("content")
#获取并打印剪切板内容
text = get_clipboard()
print("当前剪切板内容:" + text)
#单击唤出粘贴按钮
touch([50,310])
#粘贴剪切板内容
touch(Template(r"tpl1692173001410.png", record_pos=(-0.38, -0.788), resolution=(750, 1624)))
2.2、Android设备的剪切板功能(例2)
# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
auto_setup(__file__)
text_1 = "test_clipboard"
set_clipboard(text_1) # 设置剪切板内容
get_text = get_clipboard() # 获得剪切板内容
print(get_text) # -> test_clipboard
# 剪切板粘贴接口
paste() # => text(get_clipboard())
2.3、Windows平台的剪切板
对于Windows应用,Airtest虽然没有封装专门的剪切板功能,但其实我们都知道,Windows平台的复制粘贴就是键盘操作 “Ctrl+C”、“Ctrl+V”,并且Airtest封装有 keyevent 接口,支持我们执行键盘操作:
# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
auto_setup(__file__)
text("11111111")
# 模拟按键Ctrl+A,实现全选文本
keyevent("^a")
# 模拟按键Ctrl+C,实现复制文本
keyevent("^c")
# 回车换行
keyevent("{ENTER}")
# 模拟按键Ctrl+V,实现复制文本
keyevent("^v")