airtest.core.win.win module

require_app(func)[源代码]
class Windows(handle=None, dpifactor=1, **kwargs)[源代码]

基类:airtest.core.device.Device

Windows 客户端。

uuid
connect(handle=None, **kwargs)[源代码]

连接到一个windows窗口并且把窗口置前

参数:**kwargs – optional arguments
返回:None
shell(cmd)[源代码]

在subprocess里运行命令行

参数:cmd – 需要运行的命令行
Raises:subprocess.CalledProcessError – when command returns non-zero exit status
返回:命令行的输出内容作为bytes string返回
snapshot(filename=None, quality=10, max_size=None)[源代码]

截取一张图片并且保存到ST.LOG_DIR文件夹中

参数:
  • filename – 截图的文件名,默认为{time}.jpg
  • quality – The image quality, integer in range [1, 99]
  • max_size – the maximum size of the picture, e.g 1200
返回:

截图的内容

keyevent(keyname, **kwargs)[源代码]

执行一个按键响应

References

https://pywinauto.readthedocs.io/en/latest/code/pywinauto.keyboard.html

参数:
  • keyname – key event
  • **kwargs – optional arguments
返回:

None

text(text, **kwargs)[源代码]

Input text

参数:
  • text – 待输入的字符串
  • **kwargs – optional arguments
返回:

None

key_press(key)[源代码]

模拟一个按下按键的事件。

发送键盘扫描码至计算机来告知哪个按键被按下。一些游戏使用DirectInput设备,只响应键盘扫描码,而不是虚拟键码。可以用key_press()方法来模拟发送键盘扫描码,而不是上述发送虚拟键码的keyevent()方法。

参数:key – 一个字符串来表示哪个按键将被按下。可用的选择有:{‘ESCAPE’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘0’, ‘-‘, ‘=’, ‘BACKSPACE’, ‘TAB’, ‘Q’, ‘W’, ‘E’, ‘R’, ‘T’, ‘Y’, ‘U’, ‘I’, ‘O’, ‘P’, ‘[‘, ‘]’, ‘ENTER’, ‘LCTRL’, ‘A’, ‘S’, ‘D’, ‘F’, ‘G’, ‘H’, ‘J’, ‘K’, ‘L’, ‘;’, “’”, ‘`’, ‘LSHIFT’, ‘BACKSLASH’, ‘Z’, ‘X’, ‘C’, ‘V’, ‘B’, ‘N’, ‘M’, ‘,’, ‘.’, ‘/’, ‘RSHIFT’, ‘*’, ‘LALT’, ‘SPACE’, ‘CAPS_LOCK’, ‘F1’, ‘F2’, ‘F3’, ‘F4’, ‘F5’, ‘F6’, ‘F7’, ‘F8’, ‘F9’, ‘F10’, ‘NUM_LOCK’, ‘SCROLL_LOCK’, ‘NUMPAD_7’, ‘NUMPAD_8’, ‘NUMPAD_9’, ‘NUMPAD_-‘, ‘NUMPAD_4’, ‘NUMPAD_5’, ‘NUMPAD_6’, ‘NUMPAD_+’, ‘NUMPAD_1’, ‘NUMPAD_2’, ‘NUMPAD_3’, ‘NUMPAD_0’, ‘NUMPAD_.’, ‘F11’, ‘F12’, ‘PRINT_SCREEN’, ‘PAUSE’, ‘NUMPAD_ENTER’, ‘RCTRL’, ‘NUMPAD_/’, ‘RALT’, ‘HOME’, ‘UP’, ‘PAGE_UP’, ‘LEFT’, ‘RIGHT’, ‘END’, ‘DOWN’, ‘PAGE_DOWN’, ‘INSERT’, ‘DELETE’, ‘LWINDOWS’, ‘RWINDOWS’, ‘MENU’}.
key_release(key)[源代码]

模拟一个释放按键的事件。

发送键盘扫描码至计算机来告知哪个按键被释放。一些游戏使用DirectInput设备,只响应键盘扫描码,而不是虚拟键码。可以用key_release()方法来模拟发送键盘扫描码。一般情况下key_release()方法与所释放按键的key_press()方法搭配使用。

参数:key – 一个字符串来表示哪个按键将被释放。
touch(pos, **kwargs)[源代码]

执行鼠标点击操作

References

https://pywinauto.readthedocs.io/en/latest/code/pywinauto.mouse.html

参数:
  • pos – 点击位置的坐标
  • **kwargs – optional arguments
返回:

None

double_click(pos)[源代码]
swipe(p1, p2, duration=0.8, steps=5)[源代码]

执行拖动操作(鼠标按下并且释放)

参数:
  • p1 – 起始点坐标
  • p2 – 终点坐标
  • duration – 执行滑动操作的时间间隔
  • steps – 滑动操作的步数
返回:

None

mouse_move(pos)[源代码]

模拟一个移动鼠标的事件。

已知的bug:
因为pywinauto库存在的bug,用户可能在使用此方法时遇到移动后位置与目标位置的x和y坐标有1个像素点偏差的情况。
参数:pos – 一个(x, y)的tuple, 其中x和y分别表示目标位置在屏幕上的x和y坐标。
mouse_down(button='left')[源代码]

模拟一个按下鼠标按键的事件。

参数:button – 一个字符串来表示将按下哪个鼠标按键。有以下的鼠标按键选项:{‘left’, ‘middle’, ‘right’}。
mouse_up(button='left')[源代码]

模拟一个释放鼠标按键的事件。

一般情况下mouse_up()方法与所释放鼠标按键的mouse_down()方法搭配使用。

参数:button – 一个字符串来表示将释放哪个鼠标按键。
start_app(path, **kwargs)[源代码]

启动应用

参数:
返回:

None

stop_app(pid)[源代码]

关闭应用

参数:pid – 需要被关闭应用的process ID
返回:None
set_foreground(*args, **kwargs)[源代码]

将窗口切换到最前

返回:None
get_rect()[源代码]

获取窗口的边界矩形的尺寸

返回:win32structures.RECT
get_title(*args, **kwargs)[源代码]

获取窗口标题

返回:窗口标题
get_pos(*args, **kwargs)[源代码]

获取窗口位置的坐标

返回:窗口左上角坐标(left, top)
move(*args, **kwargs)[源代码]

移动窗口到指定坐标

参数:pos – 要移动到的目标位置坐标 (x, y)
返回:None
kill(*args, **kwargs)[源代码]

杀死应用进程

返回:None
focus_rect
get_current_resolution()[源代码]
get_ip_address()[源代码]

获取应用的外部IP地址。

返回:ip address
返回类型::py:obj:’str’