Mobile QA Zone

A Mobile Application Testing Community

We (at ZixCorp) have been using MT for IOS and Android apps.

Some of the problems we are facing (in no particular order):

1 - The memory footprint of the instrumented App is getting larger as the tests increase leading to OOM failures. Temporarily, we have restart and/or split our tests. Ideally, would like to "flush" (meaning let the MT plugin cleanse itself of the Views its holding on to) and continue.

2 - On Android, the MT script cannot deal with PopupMenu UI elements.

3 - MT only accesses the App? Would be nice if there was a way, whereby we could interact with the device e.g. press the HOME key on the simulator/emulator, background the App et al.

4 - If the MT script (not JScript) allow for variable manipulation (e.g. say there is a string var "foo" and one wants to concatenate "bar" to it) w/o having to jump down to JScript.

5 - An programmatic inline log/debug facilitator.

Views: 2584

Replies to This Discussion

Hi Omkar,

Thanks so much for this terrific feedback - and for investing the time in MonkeyTalk to find out about it!

It's been a while since your post, but we have taken notice of it and we'ver tried to remediate some of the issues you mention:

1 - memory footprint - we believe we have fixed this in both iOS and Android; we are enhancing our CI testing to manage extensive test suites, with many tests, some data-driven, which traverse large apps. 

2 and 3 are really different sides of the same coin - by default, the linked-in MonkeyTalk agent has visibility for app-owned components. We have a couple of approaches for handling this: i(1) f you use CloudMonkey (our online cloud-testing platform) we have some external control over the emulator environment so that we can react to system events. (2) we now support the App.exec() and System.exec() commands in MonkeyTalk, which allow for arbitrary code execution on the emulator/device or on the IDE host platform, respectively. These can be used to detect and react to system dialogs.

4 - the MT script language right now is very simple; adding more advanced language features is something we are considering, but it would be a big change to our focus. Instead, we hope to enable simpler Javascript integration using vars and script.run

5 - you can now use the debug.print and debug.vars to write to the MonkeyTalk output console

Thanks again for taking the time to find and write up this great response. We appreciate it and we hope you are getting value from the MonkeyTalk/CloudMonkey tools!

- Ed

1. Monkey Talk is not recognizing dynamic objects. So can't able to test the dynamically generated values.
2. As mentioned above, MT does not deal with popup menu UI elements (For eg, Instead of verifying Labels and Buttons in Popup box, MT recognizing the UI elements located behind the pop up box).

Hi Shanudeen,

Thanks for taking the time to comment here - I hope that some of the MonkeyTalk features are helping you out, even if it's not behaving as you would like in these ways.

MonkeyTalk can recognize dynamic objects if they have stable identifiers; on iOS you can use the accessibilityLabel (like Apple's UIAutomation), and on Android you can use the contentDescriptor. You can also use ordinal identifiers (e.g. "Button #2").

MonkeyTalk can record and play back action in application-controlled Dialog boxes, but not in System-controlled ones like asking for permission to use your location or connect to an insecure server.

Thanks again for commenting here - we need your feedback to help improve MonkeyTalk.

- Ed

How to verify android toast message. Is it possible to verify using MT. If possible suggest me. I got Failure Unable to find Label error message.

Hi Ramakrishna,

Not sure if there is support for this.

Does the Toast Window show up in the Component Tree?

- Ed

Hi Ed Schwarz,

In Component Tree I observe that toast message is a hidden View.

I used below command

View #4 verify "Please Enter User Name"  %thinktime=2000 %timeout=50000

but i got below error

FAILURE: Unable to find View (#4)

Hi Ramakrishna,

If it's not showing up in the Component Tree, this would indicate that MonkeyTalk cannot navigate to it. So I think for the time being MonkeyTalk will not be able to automate interactions with the Toast.

Possibly you could use the "System * Exec" command to run the Android SDK's "monkeyrunner" tool to automate this from your MonkeyTalk script. 

- Ed

Hi Ed Schwarz,

How to do that.

Can you give detail steps to use above discussion?

Hi, Ed.

I'm not sure that MonkeyRunner could solve problem with toast message - it couldn't verify existing of text in message. This tool could only create a screenshot of this page, but MonkeyTalk without any problems could do it itself. My opinion that in this case Ramakrishna need some image recognition tool which will compare images (is message there or not).

Ramakrishna, look at this post - http://www.testandtry.com/2010/02/01/5-great-automation-tools-based...

Maybe it will help you in some way. I heard a lot of good things about Sikuli, but unfortunately I didn't try it yet. Maybe because I don't like "image recognition tools" :)

And one more thing - any tool for testing automation has its limitations and pluses, but none of them can cover 100% of application functionality and replace a human. Just try to cover as much as you can with tests.

Hello,

Can you please let me know what kind of configuration or settings i need to do to make my android code compatible with monkey talk so that i can enable record and playback feature for my real project. I have added successfully monkey talk jar file with my code but unable to enable recording.

Thanks,

Vikas Payasi

Hello,

Can you please let me know what kind of configuration or settings i need to do to make my android code compatible with monkey talk so that i can enable record and playback feature for my real project. I have added successfully monkey talk jar file with my code but unable to enable recording.

Thanks,

Vikas Payasi

RSS

© 2019   Created by Anurag Khode.   Powered by

Badges  |  Report an Issue  |  Terms of Service

Welcome to Mobile QA Zone, a Next Generation Software Testing Community.Invite your friends to join this community.Write to us to become a featured member.