桌面GUI自动化测试工具-----pyautogui

官方文档参考

1. 关于pyautogui

  1. 介绍
    pyautogui是跨平台的图形用户界面(GUI)自动化测试工具,用Python语言编写。

  2. pyautogui如何实现GUI自动化?
    pyautoGUI模块通过屏幕xy坐标系统确定目标位置,控制鼠标和键盘发送虚拟击键和鼠标点击,完成点击按钮、填写表单等操作。

  3. 特点
    跨平台,linux, windows, mac 都可用
    Python语言编写, 可作为Python中的一个第三方库, 源码一览无余
    操作简单,易上手

4.缺点
通过屏幕xy坐标系统确定元素位置,每台电脑的分辨率不一致,元素位置不一样,脚本复用性不高。如果需要将脚本在其他电脑上运行,需要手动修改元素位置。

2. pyautogui安装

只是在 mac 和 linux 下需要安装额外的依赖,windows 安装不需要其他依赖。

2.1 window下安装pyautogui
pip install pyautogui
2.2 Linux下安装pyautogui
sudo apt-get install scrot 
sudo apt-get install python3-tk
sudo apt-get install python3-dev
python3 -m pip install pyautogui
上述四个都需要安装

3. pyautogui各种用法

pyautogui.position() #当前鼠标坐标 x , y
pyautogui.size() #当前屏幕的宽,高
pyautogui.onScreen(x,y) #如果(x,y)在屏幕范围内为True

3.1 键盘操作

参考
typewrite(message)键入给定消息字符串中的字符。
typewrite([key1,key2,key3])键入给定键字符串。

3.2 鼠标操作

参考
moveTo(x,y)将鼠标移动到指定的 x、y 坐标。
moveRel (xOffset,yOffset)相对于当前位置移动鼠标。
dragTo(x,y)按下左键移动鼠标。
dragRel (xOffset,yOffset)按下左键,相对于当前位置移动鼠标。
click(x,y,button)模拟点击(默认是左键)。
rightClick() 模拟右键点击。
middleClick() 模拟中键点击。
doubleClick() 模拟左键双击。
mouseDown(x,y,button)模拟在 x、y 处按下指定鼠标按键。
mouseUp(x,y,button)模拟在 x、y 处释放指定键。
scroll (units)模拟滚动滚轮。正参数表示向上滚动,负参数表示向下滚动。

3.1 弹框操作

参考

1. alert()----显示一个简单的带文字和一个按钮的消息弹窗。

pyautogui.alert(text='', title='', button='ok')
#  text 参数:弹框的内容,; title参数:弹框title button参数:被点击按钮的内容

eg:

#pls use python3.6
import pyautogui
a = pyautogui.alert(text='这是一个小可爱', title='可爱', button='ok')
print (a) #打印出被点击按钮上的文本内容, ok
#######如果选择不打印,点击按钮后,不会打印出按钮上的文本内容,不会打印ok

2. confirm()

pyautogui.confirm(text='', title='', buttons)
text 参数:弹框的内容,; title参数:弹框title button参数:是个list,被点击按钮的内容,内容支持自定义数字、文字

eg:

#pls use python3.6
import pyautogui

shop = pyautogui.confirm(text='这件衣服需要购买吗', title='购物', buttons=['OK', 'Cancel']) # OK和Cancel按钮的消息弹窗
num = pyautogui.confirm(text='你最喜欢的数字是哪个?', title='数字', buttons=range(10)) # 10个按键0-9的消息弹窗
print (shop) #打印被点击按钮上的文本内容
print (num) #打印被点击按钮上的文本内容

3. prompt()-----可以输入的消息弹窗,带OK和Cancel按钮。用户点击OK按钮返回输入的文字,点击Cancel按钮返回None。

pyautogui.prompt(text='', title='', default='')
# text参数:传入弹框的内容;
# title参数:传入弹框title 
# default参数:弹框中需要输入的内容

eg:

#pls use python3.6
import pyautogui

a = pyautogui.prompt(text='你会哪些编程语言吗', title='编程语言', default='')
print (a) #用户点击OK按钮返回输入的文字,点击Cancel按钮返回None。 
######如果不打印,则点击ok按钮后,不会返回输入的文字内容

3.1 图像操作

参考

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值