pywinauto/examples/MiscExamples.py

88 lines
2.6 KiB
Python

# GUI Application automation and testing library
# Copyright (C) 2006 Mark Mc Mahon
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation; either version 2.1
# of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc.,
# 59 Temple Place,
# Suite 330,
# Boston, MA 02111-1307 USA
"Run some automations to test things"
__revision__ = "$Revision: 214 $"
import time
from pywinauto import application
from pywinauto import tests
from pywinauto.findbestmatch import MatchError
from pywinauto import findwindows
def TestExceptions():
"Test some things that should raise exceptions"
# test that trying to connect_ to a non existent app fails
try:
app = application.Application()
app.connect_(path = ur"No process with this please")
assert False
except application.ProcessNotFoundError:
pass
# test that trying to connect_ to a non existent app fails
try:
app = application.Application()
app.start_(cmd_line = ur"No process with this please")
assert False
except application.AppStartError:
pass
# # try when it isn't connected
# try:
# app = application.Application()
# #app.start_(ur"c:\windows\system32\notepad.exe")
# app.Notepad.Click()
# #assert False
# except application.AppNotConnected:
# pass
def GetInfo():
app = application.Application()
app.start_(ur"notepad.exe")
app.Notepad.MenuSelect("File->PageSetup")
print "==" * 20
print "Windows of this application:", app.windows_()
print "The list of identifiers for the Page Setup dialog in Notepad"
print "==" * 20
app.PageSetup.print_control_identifiers()
print "==" * 20
print "The list of identifiers for the 2nd Edit control in the dialog"
app.PageSetup.Edit2.print_control_identifiers()
print "==" * 20
app.PageSetup.OK.CloseClick()
app.Notepad.MenuSelect("File->Exit")
if __name__ == '__main__':
TestExceptions()
GetInfo()