LDTP
2.3.1
|
waittillguinotexist('<window name>'[, '<component name>'[, guiTimeOut][, <'state'>]])
If the given window name does not exist, this function returns 1. If window exist, then this function returns 0. Difference between guiexist and waitguinotexist is, waitguinotexist waits for maximum 30 seconds. Still the window does not disappear, then 0 is returned. We can set the environment variable 'GUI_TIMEOUT' to change the default waiting time. We can wait for component also and its an optional argument. The default value of guiTimeOut is None and it can be changed either by environment variable or by passing an integer argument > 0. This timeout will be for this specific window and it will not affect the global default time out settings. If you want to change the global default time out settings use guitimeout or objtimeout function appropriately.
1. Frame(frm)
2. Dialog(dlg)
3. Alert(dlg)
4. Font Chooser(dlg)
5. File Chooser(dlg)
6. Window(This type in general does not have any associated title, so we need to represent them using index - dlg)
Window name can be clubbed with glob patterns(* or ?)
1. Window type and window title(Ex: 'frmUnsavedDocument1-gedit')
2. Window title(Ex: 'Unsaved Document 1 - gedit')
3. Window type, glob expression and partial window title(Ex: 'frm*-gedit')
4. Glob pattern and partial window title(Ex: '*-gedit')
5. Window type, partial window title and glob pattern(Ex: 'frmUnsavedDocument1*')
6. Window type, window title and index(If two windows of same title exist at same time. Ex: First window name 'dlgAppoinment', Second window name 'dlgAppoinment1')
7. Window type and index(only if window does not have any accessible title, Ex: 'dlg0')
If window label contains space or new line characters, they will be stripped.
Example
1. 'Unsaved Document 1 – gedit', will be represented as 'UnsavedDocument1-gedit'
2. 'Unsaved Document 1
gedit', will be represented as 'UnsavedDocument1gedit'
Refer: http://cgit.freedesktop.org/ldtp/ldtp/tree/src/client-handler.c
1 | on success, 0 otherwise |
from ldtp import * launchapp('gedit') waittillguiexist('*-gedit') settextvalue('*-gedit', 'txt1', 'test') # Wait for Undo button state enabled waittillguiexist('*-gedit', 'btnUndo', state = state.ENABLED) click('*-gedit', 'btnUndo') # Wait for Redo button state enabled waittillguiexist('*-gedit', 'btnRedo', state = state.ENABLED) # Quit gedit application selectmenuitem('*-gedit', 'mnuFile;mnuQuit') # Wait for Gedit window to close waittillguinotexist('*-gedit')
This function will be useful, when some event is fired and after that if an existing window should close, we can use this function to wait till the window closes.