Profile

Cover photo
80 followers|15,868 views
AboutPostsPhotosVideos

Stream

AndroidViewClient

Shared publicly  - 
 
 
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 (http://semver.org/)
- Added tests
- Updated documentation
3
Add a comment...

AndroidViewClient

Shared publicly  - 
1
sreenadh somala's profile photoXia Wang's profile photoDiego Torres Milano's profile photoDiogo Bilkes's profile photo
9 comments
 
Install Linux (even in a VM) don't suffer from this silly Windows problems and be happy ;-)
Add a comment...

AndroidViewClient

Shared publicly  - 
 
If you are running AndroidViewClient's examples from Eclipse you need this directories in PYTHONPATH in project properties: 
1
Add a comment...

AndroidViewClient

Shared publicly  - 
7
1
AndroidViewClient's profile photoMPHO MOGAPI's profile photoMatt Gumbel's profile photoAndrew Zellman's profile photo
16 comments
 
+MPHO MOGAPI,
What are you running?
It seems you are trying to run AndroidViewClient's tests, is that true?
Add a comment...

AndroidViewClient

Shared publicly  - 
 
Couldn't reproduce issue

Following up the issue reported by +Sören Wellge I created a full screen Activity that could show or hide the status bar and in both cases AndroidViewClient touched the button correctly. Touching the button the background color changes.
Also notice that intentionally I made the button really small to cover the hardest case.
Please provide some additional information or share the smallest Activity that you can create to reproduce the problem.

The script simply contains:

vc.findViewByIdOrRaise('id/button').touch()
1
AndroidViewClient's profile photoSören Wellge's profile photoRyan Reed's profile photo
8 comments
 
You should test with the latest version 2.1. I couldn't reproduce it.
Or it could be something in your script.
Add a comment...
In their circles
81 people
Have them in circles
80 people
Asp Raj's profile photo
Ólafur Ragnar Helgason's profile photo
Jason Terrel's profile photo
Yang Linxin's profile photo
Luna Wei's profile photo
Balazs Balazs's profile photo
Kenny Chapman's profile photo
Luis Vasconcelos's profile photo
Minui Pile's profile photo

AndroidViewClient

Shared publicly  - 
 
Culebra: new tool coming to AndroidViewClient toolbox.
Take a look at the preview documentation.
Comments are welcome.
 
2
2
AndroidViewClient's profile photoYang Linxin's profile photoManikandan M's profile photoDiogo Bilkes's profile photo
13 comments
 
Thanks for your comment.
Can you provide a specific test case I can reproduce?
Android API version?
Locale settings?
Other relevant info?

If you are reporting a bug, it's better to create it at https://github.com/dtmilano/AndroidViewClient/issues?state=open, so they can be tracked accordingly.

Comments, questions, suggestions, and any other stuff related directly or indirectly with AndroidViewClient/Culebra is better here at Google+.
Add a comment...

AndroidViewClient

Shared publicly  - 
 
AndroidViewClient: UiAutomator support Q&A

Q:
This question was posted at http://dtmilano.blogspot.ca/2012/11/androidviewclient-uiautomator-support.html

+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 dump.py, 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  


A:
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 https://github.com/dtmilano/AndroidViewClient/blob/master/AndroidViewClient/examples/dump.py
2
1
Santosh Patel's profile photoMatheus Sousa Faria's profile photoJonathon Day's profile photoAndrew Zellman's profile photo
27 comments
 
Its working exactly as expected. Thanks a lot for such a prompt reply and fix. Was not at all expecting for such a quick fix.
Add a comment...

AndroidViewClient

Shared publicly  - 
 
(Copied from dtmilano.blogspot.com)
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?
Thanks 
1
1
AndroidViewClient's profile photoNate Doyle's profile photoManasa Muchchatti's profile photo
20 comments
 
That's good to know. I'm more concerned with getting this persistent problem fixed. I was trying to write my own script using yours as a guide but it didn't work. I'm hoping to learn some stuff from your book (shameless suck-up :D ). Not the solution to this problem... but something. :)
Add a comment...

AndroidViewClient

Shared publicly  - 
 
Is there a way to use AndroidViewClient on a real device?

I answered this question posted by +Unknown today in a blog post comment. Because those comments are very difficult to find and follow, I'm posting the solution here too.

The answer to the question is: Yes
AndroidViewClient can be run on real rooted devices as long as the variables `ro.secure` and `ro.debuggable` have the right values.

This one-liner can be used to test the conditions (I can't believe there's no way of formatting code in Google+ posts):

<pre>
$ (eval $(adb -s serialno shell getprop | egrep '\[ro\.secure]|\[ro\.debuggable]' | sed 's/\./_/g; s/]: /=/g; s/[][\r]//g'); [[ 1 == $ro_secure && 0 == $ro_debuggable ]] && echo "System is secure: AVC won't work" || echo "System is not secure: AVC will work")
</pre>

Replace serialno by the serila number of the device or emulator.
I think I will add this test to AVC.
2
AndroidViewClient's profile photoAri Manninen's profile photo
Add a comment...

AndroidViewClient

Shared publicly  - 
 
Welcome to AndroidViewClient @ Google+!

Until recently, the number of comments related to AndroidViewClient in my blog were not very high and everything was smooth. But, as the number of comments increased and given the non-hierarchical nature of blogspot comments it turned to be a huge mess and it became almost impossible to match a comment, usually containing a question, with its reply.

So, here I am, creating this Google+ page where we can easily follow up every comment, or at least this is my hope. The format for these posts is very restrictive, but I think it might be enough.
Time will tell.
2
AndroidViewClient's profile photoSören Wellge's profile photoharsh reddy's profile photoAndrew Zellman's profile photo
12 comments
 
+Andrew Zellman good to hear. I'll give it a try. I could also reproduce the problem (perhaps a PyDev bug or feature) with standard python projects.
Add a comment...
Story
Tagline
Monkeyrunner extension