How to use atspiAddItem method in fMBT

Best Python code snippet using fMBT_python

fmbtx11_conn.py

Source:fmbtx11_conn.py Github

copy

Full Screen

...417 rv = []418 for app in pyatspi.Registry.getDesktop(0):419 rv.append(app.name)420 return rv421def atspiAddItem(item, parent, foundItems):422 """Adds an item to foundItems"""423 itemId = repr(item)424 rv = {425 "id": itemId,426 "parent": repr(parent) if parent != None else None,427 }428 try:429 rv["role"] = item.get_role_name()430 except:431 rv["role"] = None432 rv["class"] = rv["role"]433 try:434 rv["name"] = item.name435 except:436 rv["name"] = None437 try:438 bbox = item.queryComponent().getExtents(pyatspi.DESKTOP_COORDS)439 x, y, w, h = bbox440 rv["bbox"] = (x, y, x+w, y+h)441 except NotImplementedError:442 rv["bbox"] = (-1, -1, -1, -1)443 try:444 rv["attributes"] = dict([a.split(':', 1) for a in item.getAttributes()])445 except:446 rv["attributes"] = None447 try:448 rv["description"] = item.description449 except:450 rv["description"] = None451 rv["actions"] = []452 try:453 actions = item.queryAction()454 for action in xrange(actions.nActions):455 rv["actions"].append(actions.getName(action))456 except NotImplementedError:457 pass458 rv["text"] = ""459 try:460 text = item.queryText()461 try:462 rv["text"] = text.getText(0, text.characterCount)463 except Exception, e:464 pass465 except:466 pass467 foundItems.append(rv)468def atspiScanItems(item, parent, foundItems):469 """Scan items470 Parameters:471 item (atspi object):472 item whose children will be scanned473 parent (atspi object or None):474 parent of the item (the first parameter)475 foundItems (list, out parameter):476 found items, including the item, will be appended477 to this list.478 """479 atspiAddItem(item, parent, foundItems)480 for child in item:481 atspiScanItems(child, item, foundItems)482def atspiViewData(window):483 """Return view data on a window484 Parameters:485 window (string):486 Name of the application.487 """488 if not pyatspi:489 raise ValueError('required library missing: pyatspi')490 for app in pyatspi.Registry.getDesktop(0):491 if app.name == window:492 break493 else:...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run fMBT automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful