● 在自动化测试脚本中,有时候需要自动安装windows程序,或者操作windows程序。对于操作windows程序的python库五花八门,本文以pyautoit库演示如何操作windows程序窗口。
● pyautoit库是AutoIt v3工具的python接口,直接绑定到AutoItX3.dll。AutoIt v3工具可以实现通过模拟鼠标、键盘对windows窗口控件进行操作。
● 在cmd中输入pip install pyautoit
●
● run(filename[,work_dir[,show_flag]]): 运行指定程序
filename参数:设置运行的程序的路径和名称
work_dir参数:设置工作路径。默认为windows系统文件夹(C:\Windows)
show_flag参数:设置窗口显示的方式。默认为Properties.SW_SHOWNORMAL(窗口正常显示) 可选值:
○ Properties.SW_HIDE: 表示隐藏窗口
○ Properties.SW_MAXIMIZE: 表示最大化窗口
○ Properties.SW_MINIMIZE: 表示最小化窗口
● run_wait(filename[,work_dir[,show_flag]]): 运行指定程序并暂停脚本执行,直到程序结束
● filename、work_dir、show_flag参数与run函数中的filename、work_dir、show_flag参数相同
● win_close(title): 关闭指定标题的窗口
● win_kill(title): 强制关闭指定标题的窗口
● win_wait(title[, timeout]): 在指定时间内等待指定标题的窗口打开
time_out参数:设置超时时间,单位为秒(s)。默认为0,表示一直等待
● win_wait_active(title[, timeout]):在指定时间内等待指定标题的窗口激活
time_out参数与win_wait_active函数的timeout参数相同
● win_wait_close(title[,timeout]): 在指定时间内等待指定标题的窗口关闭
time_out参数与win_wait函数的timeout参数相同
● 窗口状态:
● win_active(title): 检查指定标题的窗口是否为激活状态返回值:
○ 1表示窗口已激活
○ 0表示窗口未激活
● win_exists(title): 检查指定标题的窗口是否存在返回值:
○ 1表示窗口已存在
○ 0表示窗口未存在
● win_get_pos(title): 获取指定标题的窗口的位置和尺寸
● 返回值:[x, y, width, height]
● control_set_text(title, control, control_text):在控件中输入普通文本
● control_send(title, control, send_text[, mode]): 在控件中输入字符串
send_text参数:输入普通文本或特殊键
○ !:表示alt键
○ +:表示shift键
○ ^:表示ctrl键
○ {键名大写}:表示对应的按键。如{END}表示End键
○ {DELETE 4}:表示按4次Delete键
mode参数:默认为0,表示可输入特殊键。1表示按照字符串原本的意思输入。
● control_click(title, control[,button[, clicks[, x[, y]]]]): 对控件进行点击
button参数:设置点击方式。默认为“left”,还可以设置为"right" or "middle"
clicks参数:设置点击次数。默认为1次
x: 设置点击的水平位置。默认为center(中心)
y: 设置点击的垂直位置。默认为center(中心)
● mouse_click([button[, x, y[, clicks[, speed]]]]): 点击鼠标
button参数:设置点击方式。
默认为“left”, 还可以设置为"right", "middle", "main", "menu", "primary", "secondary"
x,y参数:鼠标移动的位置。不传参表示在鼠标当前位置点击
clicks: 设置鼠标点击次数
speed: 设置鼠标移动的速度。默认-1,速度范围为[1, 100],1最快,100最慢
● mouse_move(x, y[, speed])
x、y、speed参数与mouse_click函数中x、y、speed参数相同
● send(send_text[, mode]): 在当前窗口模拟键盘按键
send_text、mode参数与control_send函数中send_text、mode参数相同
Step4: 案例
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!