当前位置:   article > 正文

python之GUI自动化uiautomation使用_uiautomation使用 automationid

uiautomation使用 automationid

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


程序窗口:WindowControl()

按钮:ButtonControl()		

文件显示:TextControl()

输入框:EditControl()


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

常用定位属性:


ClassName、Name、ProcessId、AutomationId


  • 1
  • 2
  • 3
  • 4

常用操作:

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

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

pip install uiautomation
  • 1

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

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")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

回显代码:

显示为 12

15100
CalculatorResults
2052
50020
测试成功success
错误: 没有找到进程 "calc.exe"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/476416
推荐阅读
相关标签
  

闽ICP备14008679号