一、测试工具准备
-
运行的软件,比如prime95
-
python运行环境, pywinauto
-
swapy、inspect
二、 实现的目标
打开软件,选择测试设置options->Torture Test...
在弹出窗口中选择测试项,然后点击OK或者Cancel
三、完整代码
import pywinauto
import time
#1. 打开主程序
pwa_app = pywinauto.application.Application().start(r"E:\\Prime95.exe")
w_handle = pywinauto.findwindows.find_windows(title=u'Prime95')[0]
mwindow = pwa_app.window(handle=w_handle)
mwindow.draw_outline()
#mwindow.print_control_identifiers()
#time.sleep(3)
#mwindow.click()
#不需要重复打开子窗口
#mwindow.MenuItem(u'&Options->&Torture Test...').click()
#mwindow.menu_select(u'&Options->&Torture Test...')
#2. 虽然是弹窗,但是可以当作单独窗体处理
w2_handle = pywinauto.findwindows.find_windows(title=u'Run a Torture Test', class_name='#32770')[0]
#连接窗口
win2=pywinauto.Desktop(backend="uia").window(handle=w2_handle)
time.sleep(3)
#3. 选择small FFT,title比较复杂,使用best match
win2.child_window(best_match='RadioButton2',found_index=0).click()
#输入框 Edit
time.sleep(3)
win2.child_window(auto_id="1013", control_type="Edit",found_index=0).type_keys('6')
#4. 如果进行测试,选择ok,这里演示选cancel
win2.child_window(title='Cancel',found_index=0).click()
mwindow.close()
time.sleep(3)
mwindow.close()
四、运行部署
使用pyinstaller -F xxx.py将程序打包xxx.exe,在命令行中输入xxx.exe C:\Prime95
import sys
# C:\Prime95
path = repr(sys.argv[1])
path = eval(path)
pwa_app = pywinauto.application.Application().start(path)