python之GUI自动化uiautomation使用

uiautomation模块的自动化测试需要配合UISPY或者inspect工具来进行调试,推荐使用UISPY,具体使用看自己。
UISPY简单介绍:
在这里插入图片描述
常用类型元素:


程序窗口:WindowControl()

按钮:ButtonControl()		

文件显示:TextControl()

输入框:EditControl()


常用定位属性:


ClassName、Name、ProcessId、AutomationId


常用操作:

# DoubleClick() 双击
# Click() 点击;
# RighClik() 右键点击;
# SendKeys() 发送字符;
# SetValue() 传值,一般对EditControl用;

uiautomation模块是第三方模块需要先安装

pip install uiautomation

安装完毕后,下面是计算器定位操作的代码:

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='六').Click()
wc.ButtonControl(Name='加').Click()
wc.ButtonControl(Name='六').Click()
wc.ButtonControl(Name='等于').Click()
# 获取元素某标签的具体标签内容
result=wc.TextControl(AutomationId='CalculatorResults')
print(result.Name)
print(result.ClassName)
print(result.ProcessId)
print(result.AutomationId)
print(result.Culture)
print(result.ControlType)

if result.Name=='显示为 12':
    print('测试成功success')
else:
    print('测试失败error')
#进行截图
wc.CaptureToImage('test.png')
time.sleep(2)
wc.ButtonControl(Name='关闭 计算器').Click() #name可能会有变化,具体情况按照上面打印的Name进行填写
os.system("taskkill /F /IM calc.exe")

回显代码:

显示为 12

15100
CalculatorResults
2052
50020
测试成功success
错误: 没有找到进程 "calc.exe"

猜你喜欢

转载自blog.csdn.net/m0_46400195/article/details/125004149