什么是uiautomation?(uiautomation的常见使用)
时间:2020-11-14 10:34:22
作者:小潘SEO
来源:网络整理
一、在web系统GUI自动化测试中,可以用uiautomation进行辅助 二、程序窗口:WindowControl() 按钮:ButtonControl() 文件显示:TextControl() 输入框:EditContro
一、在web系统GUI自动化测试中,可以用uiautomation进行辅助
二、程序窗口:WindowControl()
按钮:ButtonControl()
文件显示:TextControl()
输入框:EditControl()
三、一般定位的属性有:ClassName、Name、ProcessId、AutomationId
定位属性Name等可以用UiSpy查找,百度搜索Microsoft Spy++下载即可
四、实现代码如下:
import osimport subprocessimport uiautomationimport 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 uiautomationimport timeuiautomation.RightClick(1405,361)uiautomation.Click(1468,37)wc=uiautomation.WindowControl(searchDe好文分享
pth=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)