专业的编程技术博客社区

网站首页 > 博客文章 正文

pythonGUI自动化:uiautomation的常见使用

baijin 2024-12-08 13:36:13 博客文章 7 ℃ 0 评论

一、在web系统GUI自动化测试中,可以用uiautomation进行辅助

二、程序窗口:WindowControl()

  按钮:ButtonControl()

  文件显示:TextControl()

  输入框:EditControl()

三、一般定位的属性有:ClassName、Name、ProcessId、AutomationId

定位属性Name等可以用UiSpy查找,百度搜索Microsoft Spy++下载即可

四、实现代码如下:

import os
import subprocess
import uiautomation
import time
#打开计算器进程
subprocess.Popen(‘calc.exe‘)
time.sleep(2)
#定位窗口
wc=uiautomation.WindowControl(searchDepth=1,Name=‘计算器‘)
#设置为顶层
wc.SetTopmost(True)
wc.ButtonControl(Name=‘7‘).Click()
wc.ButtonControl(Name=‘加‘).Click()
wc.ButtonControl(Name=‘5‘).Click()
wc.ButtonControl(Name=‘等于‘).Click()
result=wc.TextControl(AutomationId=‘158‘)
print(result.Name)
if result.Name=="12":
    print("测试成功")
else:
    print("测试失败")
#截图
wc.CaptureToImage(‘1.png‘)
time.sleep(2)
wc.ButtonControl(Name=‘关闭‘).Click()
os.system("taskkill /F /IM calc.exe")
import uiautomation
import time
uiautomation.RightClick(1405,361)
uiautomation.Click(1468,37)
wc=uiautomation.WindowControl(searchDepth=1,Name=‘yx‘)
wc.SetTopmost(True)
edit=uiautomation.EditControl(ProcessId=‘764(QQ)‘)
for i in range(10):
    edit.Click()
    edit.SendKeys(‘在干嘛啊‘)
    wc.ButtonControl(Name=‘发送(&S)‘).Click()
    time.sleep(3)

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表