Profile cover photo
Profile photo
Born as a monkeyrunner extension later became a pure python Android Test Automation solution
Born as a monkeyrunner extension later became a pure python Android Test Automation solution

AndroidViewClient/culebra's posts

Post has attachment
#Android  #culebra #calculator #automated #test
Do you find these videos useful?

Post has attachment
This video explores one of the latest additions to culebra: multi-device test generation.
Are you using it?
I would like to hear your comments.

Post has attachment

Post has shared content
AndroidViewClient/culebra version 3.0.0 released

Download if from github now!.

ViewClient.viewsById and ViewClient.getViewsById() consistently return dictionary of Views

- Version 3.0.0
- The use of ViewClient.viewsById and the associated method was not consistent across different backends and was corrected
- This release starts to use a more strict form of Semantic Versioning 2.0.0 (
- Added tests
- Updated documentation

Post has attachment
Culebra: new tool coming to AndroidViewClient toolbox.
Take a look at the preview documentation.
Comments are welcome.

Post has shared content

Post has attachment
AndroidViewClient: UiAutomator support Q&A

This question was posted at

+keenos said...
Hi Diego,

I've been attempting to use findViewById('id/idName')

but have been failing. I have access to the source code and know that the activity I'm loading should have the view with android:id="@+id/idName" but I continue to get an exception.

When I run, I see that all my views on the page have ids similar to id/no_id/#

Does this mean I lose idName as a way to identify my view and have to use id/no_id/# instead? Is there something I'm missing here?
30 January, 2013 17:33  

One of the drawbacks on using the UiAutomator backend is the lack of ids. AndroidViewClient tries to help you and provides you with alternative unique Ids, but sometimes what you want are the plain old Ids.
On certain occasions,  the advantages of UiAutomator outweigh these little nuisances, and in the future this will be the option to choose.

But for all the other cases, AndroidViewClient provides the forceviewserveruse argument in its constructor:

    vc = ViewClient(device, serialno, forceviewserveruse=True)

the use of ViewServer backend gives you backward compatibility and you will have the Ids for your Views.

This use is illustrated in

Post has attachment
If you are running AndroidViewClient's examples from Eclipse you need this directories in PYTHONPATH in project properties: 

Post has attachment
(Copied from
Jerry Chen has left a new comment on your post "AndroidViewClient: UiAutomator support": 

HI Milano,
I got this error very often when dump view:
Error executing command: uiautomator dump /mnt/sdcard/window_dump.xml

is there a better way to avoid this error?

Post has attachment
Wait while more posts are being loaded