首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AutoPy - 一个简单的跨平台Python GUI自动化模块

AutoPy - 一个简单的跨平台Python GUI自动化模块

作者头像
wangmcn
发布2025-04-09 14:29:26
发布2025-04-09 14:29:26
27500
代码可运行
举报
文章被收录于专栏:AllTests软件测试AllTests软件测试
运行总次数:0
代码可运行

1、前言

GUI自动化测试作为保障软件质量与用户体验的关键环节,地位愈发重要。高效的GUI自动化测试工具,能够显著提升测试效率,降低人工成本,缩短软件迭代周期。

GUI自动化测试会常常用到鼠标、键盘、屏幕截图、警报等操作,本篇将介绍一款可以实现这些方法的Python GUI自动化库– AutoPy。

2、简介

AutoPy是一个适用于Python的简单跨平台GUI自动化库。它包括用于控制键盘和鼠标、在屏幕上查找颜色和位图以及显示警报的功能。

目前在macOS、Windows和X11上支持XTest扩展。

安装要求:

  • Python 3.8及更高版本(适用于较新的版本)。
  • Rust 1.23.0-nightly 2019-02-06 或更高版本(除非使用二进制wheeldistribution)。
  • macOS 10.6及更高版本。
  • Windows 7及更高版本。
  • 带有XTest扩展的X11。

安装方式:

1、命令行安装:

代码语言:javascript
代码运行次数:0
运行
复制
pip install -U autopy

2、从GitHub存储库上的最新源代码构建:

代码语言:javascript
代码运行次数:0
运行
复制
git clone git://github.com/autopilot-rs/autopy-rs.git
cd autopy
make
make install

官方网址:

https://www.autopy.org/

3、快速上手

1、弹出警报。

代码语言:javascript
代码运行次数:0
运行
复制
import autopy

def hello_world():
    autopy.alert.alert("Hello, world")
hello_world()

运行结果:

2、控制鼠标。

立即将鼠标“传送”到屏幕的左上角:

代码语言:javascript
代码运行次数:0
运行
复制
import autopy
autopy.mouse.move(0, 0)

真实地移动鼠标到屏幕的左上角:

代码语言:javascript
代码运行次数:0
运行
复制
import autopy
autopy.mouse.smooth_move(0, 0)

3、控制键盘。

在当前关注的100 WPM输入中输入字符串“Hello,world!”中的密钥:

代码语言:javascript
代码运行次数:0
运行
复制
import autopy
autopy.key.type_string("Hello, world!", wpm=100)

或者,可以使用以下方法输入单个密钥:

代码语言:javascript
代码运行次数:0
运行
复制
import autopy
autopy.key.tap(autopy.key.Code.TAB, [autopy.key.Modifier.META])
autopy.key.tap("w", [autopy.key.Modifier.META])

4、使用位图。

将屏幕截图保存到文件中:

代码语言:javascript
代码运行次数:0
运行
复制
import autopy
autopy.bitmap.capture_screen().save('screengrab.png')

打印位图中找到的第一个图像的坐标(从左到右、从上到下扫描):

代码语言:javascript
代码运行次数:0
运行
复制
import autopy

def find_image_example():
    needle = autopy.bitmap.Bitmap.open('needle.png')
    haystack = autopy.bitmap.Bitmap.open('haystack.png')

    pos = haystack.find_bitmap(needle)
    if pos:
        print("Found needle at: %s" % str(pos))

find_image_example()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档