Monkey Talk Queries and Answers for iPhone, Android, & Scripts
iOS Agent
What
versions of iOS are supported?
The MonkeyTalk Agent for
iOS requires iOS 4.0 or greater. If you have a version of iOS that doesn’t work
with MonkeyTalk, please let us know about it.
How do I
install the MonkeyTalk Agent in my iOS app?
Can I
test on a tethered iOS device without Wi-Fi?
No. MonkeyTalk tests can
only run over the network to real iOS devices, even if they are tethered. If
you are in a location without Wi-Fi, you can only test on the Simulator.
Do I need
to put accessibilityLabel on all of my components?
No, but it is recommended.
MonkeyTalk does it’s best to pick a understandable monkeyId when recording, but
it's even better to set it to a known value.
I'm
seeing a crazy dyld: Library not loaded:
/usr/lib/libc++abi.dylib error trying to run on the Simulator 4.3. What
gives?
Apparently there's a
missing library. We recommend downloading libc++abi.dylib found here and just copy it into/usr/lib.
Can I
test iOS app on Windows PC?
Yes. You must use Mac
hardware to develop the app and compile it the MonkeyTalk Agent for iOS. But
once that is done, you could use an over-the-air app distribution mechanism
(like TestFlight)
to publish the app to any iOS device. And the the testers could run the
MonkeyTalk IDE on a Windows PC and connect to their iOS device over the
network. Once connected, they could record and playback tests as usual -- all
from a Windows PC.
Android
Agent
What
versions of Android are supported?
The MonkeyTalk Agent for
Android requires Android 2.2 (Froyo) or greater. If you have a version or
vendor flavor of Android that doesn't work with MonkeyTalk, please let us know
about it. New Android releases frequently include new UI components, and while
we endeavor to support recording and playback on all standard UI components, we
sometimes miss a few. So, please let us know about any stock components that
don't work.
How do I
install the MonkeyTalk Agent in my Android app?
Can I run
MonkeyTalk tests against a debug version of the app under test? Why is Android
playback so slow?
Yes, it can be very useful
to run MonkeyTalk tests with breakpoints in the app under test. When running a
debug version of the app under test in the Emulator, be aware that the app can
appear extremely slow in some cases (10+ seconds per command).
Since the slowdown appears to be Emulator and adb related, we highly recommend
running on real hardware
Can I
test on a tethered Android device?
Yes. Sometimes just
unplugging and re-pluging a tethered device will help it connect. You can not
run tests on a tethered device while the Emulator is running or vice versa.
Lastly, if testing on a tethered device is an issue, testing works great on a
un-tethered device over the Wi-Fi network.
Do I need
to put contentDescription on all of my components?
No, but it is recommended.
MonkeyTalk does it's best to pick a understandable monkeyId when recording, but
it’s even better to set it to a known value.
I can't get
the MonkeyTalk Android demo to work! What's wrong?
These are the steps you
should follow to get the MonkeyTalk Android demo working properly: 1) In
Eclipse, File > Import... > choose Existing Projects into
Workspace > Navigate to the Android project demo1. 2)
Right click on project > Properties > check Enable project
specific settings > pick Compiler compliance level: 1.6.
MonkeyTalk
Scripts
What is
the MonkeyTalk functional testing language?
MonkeyTalk is a powerful
functional testing language. MonkeyTalk is keyword-driven -- you can directly
add new commands to the language. MonkeyTalk is data-driven -- any command can
be looped with CSV data file. MonkeyTalk is readable -- commands are recorded
at the highest level (tap a button, select a row from a table, check a
checkbox). MonkeyTalk is maintainable -- scripts are readable so it's easy to
update them when the app is updated.
Can I see
a brief example of a MonkeyTalk script?
Here’s a simple login
script (enter credentials then click the button):
Input username EnterText
joe
Input password EnterText "my secret password"
Button LOGIN Tap
Input password EnterText "my secret password"
Button LOGIN Tap
Next, here's a
parametrized version of the same script:
Vars * Define usr pwd
Input username EnterText ${usr}
Input password EnterText ${pwd}
Button LOGIN Tap
Input username EnterText ${usr}
Input password EnterText ${pwd}
Button LOGIN Tap
Here’s how to invoke the
parameterized login script from another script:
Script login.mt Run joe
"my secret password"
For many more examples,
see the MonkeyTalk Spec.
Do I have
to use the MonkeyTalk IDE?
No. While the IDE contains
many nice features for recording, playback, test debugging, test creation,
etc., it's not strictly necessary. You can easily create MonkeyTalk scripts in
your favorite text editor and play them back via the Ant runner or the Java
runner. See MonkeyTalk Ant Runner or MonkeyTalk Java Runner for details.
Can I
convert MonkeyTalk test scripts into Javascript?
Yes. Furthermore,
MonkeyTalk supports selective Javascript overrides at the individual script
level, so you can have most of your tests in MonkeyTalk and just those that
demand a full programming language in Javascript.
Can I see
a brief Javascript example?
Here's the relevant
Javascript for the simple login script from above:
app.input("username").enterText("joe");
app.input("password").enterText("my secret password");
app.button("LOGIN").tap();
app.input("password").enterText("my secret password");
app.button("LOGIN").tap();
What
other language bindings does MonkeyTalk support?
Currently, MonkeyTalk test
scripts can be converted to Javascript. No other language bindings are
supported.
Comments
Post a Comment