1
"""Wrapper code to help when scripting yelp
3
Author: David Malcolm <dmalcolm@redhat.com>"""
5
__author__ = 'David Malcolm <dmalcolm@redhat.com>'
7
from dogtail.tree import *
8
from dogtail.distro import packageDb
9
from dogtail.apps.categories import *
10
from dogtail.version import Version
12
class YelpApp(Application):
14
Application.__init__(self, root.application("gnome-help"))
16
self.version = packageDb.getVersion("yelp")
18
print "yelp version %s"%self.version
22
Look for error dialogs, raising an error if one is found.
24
errorDlg = self.findChild(predicate.GenericPredicate(name="Error", roleName="alert"), requireResult=False)
27
for text in errorDlg.findChildren(predicate.GenericPredicate(roleName='label')):
33
Find a window of the app
35
return self.findChild(predicate.GenericPredicate(roleName="frame"))
37
def ensureLoadingComplete(self):
39
Wait for yelp to stop having "Loading..." as a title
41
window = self.window()
46
while window.name =='Loading...':
49
raise "Yelp took too long to open help"
52
def checkAppHelp(app):
54
Click on Help->Contents and check that help comes up properly.
56
app.menu('Help').menuItem('Contents').click()
59
yelp.ensureLoadingComplete()