栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

python之GUI自动化uiautomation使用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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"。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941791.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号