tag:blogger.com,1999:blog-25456655.post3860365508849645863..comments2024-02-09T11:53:32.369-05:00Comments on Diego Torres Milano's blog: Using Android monkeyrunner from EclipseDiego Torres Milanohttp://www.blogger.com/profile/12030778501784140349noreply@blogger.comBlogger69125tag:blogger.com,1999:blog-25456655.post-39293005360022056722013-04-08T14:56:03.877-04:002013-04-08T14:56:03.877-04:00@menacel,
You may have used the wrong path somewhe...@menacel,<br />You may have used the wrong path somewhere.<br />There are some updates (at the bottom) with a link to a series of screenshots. You should follow them.Diego Torres Milanohttps://www.blogger.com/profile/12030778501784140349noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-53193730505686214782013-04-08T12:44:31.199-04:002013-04-08T12:44:31.199-04:00Hi,
I followed all of the steps in but I am not ...Hi, <br />I followed all of the steps in but I am not able to run scripts.<br /><br />It gives me the message. The interpreter configured does not exist in the filesystem. Any help?menacelhttps://www.blogger.com/profile/08730325757031025727noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-16241606968845318762012-03-12T00:57:11.779-04:002012-03-12T00:57:11.779-04:00Hi Kay,
Does your script run from the command line...Hi Kay,<br />Does your script run from the command line or do you receive the same error message as when run from Eclipse ?Diego Torres Milanohttps://www.blogger.com/profile/12030778501784140349noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-49320057353392792992012-03-10T21:55:24.972-05:002012-03-10T21:55:24.972-05:00Dear Diego, thanks for all of your help! I am rec...Dear Diego, thanks for all of your help! I am receiving a null pointer exception when I try to run my program in Eclipse. It is upset with the line "MonkeyRunner.waitforconnection()". All blogs seem to link to this webpage for help, but I still cannot figure out the problem. Any help is much appreciated. Again, thanks for all the help so for with this article!Anonymoushttps://www.blogger.com/profile/07534298685137193710noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-39578244017618781062012-03-07T05:34:30.961-05:002012-03-07T05:34:30.961-05:00120307 05:23:52.911:S [main] [com.android.monkeyru...120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.Py.ImportError(Py.java:264)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.imp.import_logic(imp.java:692)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.imp.import_name(imp.java:746)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.imp.importName(imp.java:791)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.ImportFunction.__call__(__builtin__.java:1236)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyObject.__call__(PyObject.java:367)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.__builtin__.__import__(__builtin__.java:1207)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.imp.importFromAs(imp.java:869)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.imp.importFrom(imp.java:845)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.pycode._pyx0.f$0(/home/teju/Downloads/android-sdk-linux/tools/newtestplugin.py:28)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.pycode._pyx0.call_function(/home/teju/Downloads/android-sdk-linux/tools/newtestplugin.py)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyTableCode.call(PyTableCode.java:165)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyCode.call(PyCode.java:18)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.Py.runCode(Py.java:1197)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.__builtin__.execfile_flags(__builtin__.java:538)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:156)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at com.android.monkeyrunner.ScriptRunner.run(ScriptRunner.java:116)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.java:77)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter.java:189)<br /><br /><br />plz help me outtejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-40739982394424598262012-03-07T05:34:02.664-05:002012-03-07T05:34:02.664-05:00how to resolve tiz error and if i run through term...how to resolve tiz error and if i run through terminal i get error like:<br /><br /> ./monkeyrunner -plugin Plugin.jar newtestplugin.py<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] Script terminated due to an exception<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]Traceback (most recent call last):<br /> File "/home/teju/Downloads/android-sdk-linux/tools/newtestplugin.py", line 8, in <br /> from com.android.New import New<br />ImportError: No module named New<br /><br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyException.fillInStackTrace(PyException.java:70)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at java.lang.Throwable.(Throwable.java:198)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at java.lang.Exception.(Exception.java:46)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at java.lang.RuntimeException.(RuntimeException.java:49)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyException.(PyException.java:46)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyException.(PyException.java:43)<br />120307 05:23:52.911:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyException.(PyException.java:61)tejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-39233629169290333362012-03-07T05:32:40.766-05:002012-03-07T05:32:40.766-05:00am getting dalvick error when i run my android jun...am getting dalvick error when i run my android junit classes coz for plugin.java file i imported jar files like jython and google_src_10.jar files .<br />and if i run my jython scripts i get error like:<br /><br /><br />Traceback (most recent call last):<br /> File "/home/teju/workspace/Newtestpy/src/com/android/monkeyrunner/newtest.py", line 7, in <br /> from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner<br />ImportError: cannot import name MonkeyDevicetejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-62878618763557048242012-03-07T05:31:19.529-05:002012-03-07T05:31:19.529-05:00my monkeyrunner scripts:newtest.py and newtestplug...my monkeyrunner scripts:newtest.py and newtestplugin.py <br />'''<br />Created on Mar 7, 2012<br /><br />@author: teju<br />'''<br /># Imports the monkeyrunner modules used by this program<br />from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner<br />from com.android.New import New<br /><br /># Connect to the current device<br />device = MonkeyRunner;<br /># Install package<br />device.installPackage("teju/home/workspace/New/bin/New.apk") <br /># Run activity<br />device.startActivity(component='com.android.New')<br /># Press the Menu button<br />device.press('KEYCODE_MENU','DOWN_AND_UP')<br /># Press Add Note menu item<br />device.press('KEYCODE_A','DOWN_AND_UP')<br /><br /># Press the Menu button<br />device.press('KEYCODE_MENU','DOWN_AND_UP')<br /># Press save menu item<br />device.press('KEYCODE_S','DOWN_AND_UP')<br /># Take snapshot<br />screenshot = device.takeSnapshot()<br /># Write snapshot to file system<br />screenshot.writeToFile('example1.png','png')tejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-12292625660235680472012-03-07T05:30:41.716-05:002012-03-07T05:30:41.716-05:00my plugin class:Plugin.java in same android junit ...my plugin class:Plugin.java in same android junit package<br /><br />package com.android.New.test;<br /><br /><br />import org.python.util.PythonInterpreter;<br />import com.google.common.base.Predicate;<br /><br /><br />public class Plugin implements Predicate {<br /><br /> @Override<br /> public boolean apply(PythonInterpreter python) {<br /><br /> python.set("hello", "Hello, monkeyrunner!");<br /><br /> return true;<br /> }<br /><br />}tejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-46879640177112251532012-03-07T05:29:40.947-05:002012-03-07T05:29:40.947-05:00my androidJunit test application:NewTest
package ...my androidJunit test application:NewTest<br /><br />package com.android.New.test;<br /><br />//import android.test.AndroidTestRunner;<br />//import android.test.InstrumentationTestRunner;<br />import android.test.ActivityInstrumentationTestCase2;<br />import android.test.TouchUtils;<br />import android.test.ViewAsserts;<br />import android.test.suitebuilder.annotation.SmallTest;<br />import android.widget.EditText;<br />import com.android.New.New;<br /><br />/*<br />* Test code to test com.marakana.TestDemo<br />* <br />* To run on command line:<br />* adb -e shell am instrument -w -e class com.marakana.test.TestDemoTests <br />* com.marakana.test/android.test.InstrumentationTestRunner<br />*/<br />public class NewTest extends ActivityInstrumentationTestCase2 {<br />EditText editKilos, editPounds;<br />New activity;<br /><br />public NewTest(String name) {<br />super("com.android.New", New.class);<br />setName(name);<br />}<br /><br />protected void setUp() throws Exception {<br />super.setUp();<br /><br />// Find views<br /><br />activity = getActivity();<br />Thread.sleep(10000);<br />editKilos = (EditText)activity.findViewById(com.android.New.R.id.editKilos);<br />editPounds = (EditText)activity.findViewById(com.android.New.R.id.editPounds);<br />}<br /><br />protected void tearDown() throws Exception {<br />super.tearDown();<br />}<br /><br />@SmallTest<br />public void testViewsCreated() {<br />assertNotNull(getActivity());<br />assertNotNull(editKilos);<br />assertNotNull(editPounds);<br />}<br /><br />@SmallTest<br />public void testViewsVisible() {<br />ViewAsserts.assertOnScreen(editKilos.getRootView(), editPounds);<br />ViewAsserts.assertOnScreen(editPounds.getRootView(), editKilos);<br />}<br /><br />@SmallTest<br />public void testStartingEmpty() {<br />assertTrue("Kilos field is empty", "".equals(editKilos.getText().toString()));<br />assertTrue("Pounds field is empty", "".equals(editPounds.getText().toString()));<br />}<br /><br />@SmallTest<br />public void testKilosToPounds() {<br />editKilos.clearComposingText();<br />editPounds.clearComposingText();<br /><br />TouchUtils.tapView(this, editKilos);<br />sendKeys("1");<br /><br />double pounds;<br />try {<br /> pounds = Double.parseDouble(editPounds.getText().toString());<br />} catch (NumberFormatException e) {<br /> pounds = -1;<br />}<br />assertTrue("1 kilo is 2.20462262 pounds", pounds > 2.2 && pounds < 2.3);<br />}<br /><br />}tejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-15004587795481852632012-03-07T05:29:14.804-05:002012-03-07T05:29:14.804-05:00my main android application:New
package com.androi...my main android application:New<br />package com.android.New;<br /><br /><br />import android.app.Activity;<br />import android.os.Bundle;<br /><br /><br /><br />//import com.google.common.base.Predicate;<br />//import org.python.util.PythonInterpreter;<br />//import com.android.monkeyrunner;<br />import android.util.Log;<br />import android.view.KeyEvent;<br />import android.view.View;<br />import android.view.View.OnKeyListener;<br />import android.widget.EditText;<br />public class New extends Activity {<br /> static final String TAG = "Weight";<br /> EditText editKilos, editPounds;<br /> public static final String ERROR = "ERROR";<br /><br /> /** Called when the activity is first created. */<br /> @Override<br /> public void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.main);<br /><br /> // Find views<br /> editKilos = (EditText) findViewById(R.id.editKilos);<br /> editPounds = (EditText) findViewById(R.id.editPounds);<br /><br /> // Setup listener for Kilos to Pounds<br /> editKilos.setOnKeyListener(new OnKeyListener() {<br /> public boolean onKey(View view, int keyCode, KeyEvent event) {<br /> if (event.getAction() != KeyEvent.ACTION_UP)<br /> return false;<br /> try {<br /> Log.d(TAG, String<br /> .format("Kilos: %s", editKilos.getText().toString()));<br /> double kilos = Double.parseDouble(editKilos.getText().toString());<br /> double pounds = kilos * 2.20462262;<br /> editPounds.setText(new Double(pounds).toString());<br /> } catch (NumberFormatException e) {<br /> editPounds.setText(ERROR);<br /> Log.e(TAG, "e:" + e);<br /> }<br /> return true;<br /> }<br /> });<br /><br /> // Setup listener for Pounds to Kilos<br /> editPounds.setOnKeyListener(new OnKeyListener() {<br /> public boolean onKey(View view, int keyCode, KeyEvent event) {<br /> if (event.getAction() != KeyEvent.ACTION_UP)<br /> return false;<br /> try {<br /> Log.d(TAG, String.format("Pounds: %s", editPounds.getText()<br /> .toString()));<br /> System.out.println("entet the weight");<br /> double pounds = Double.parseDouble(editPounds.getText().toString());<br /> double kilos = pounds * 0.45359237;<br /> editKilos.setText(new Double(kilos).toString());<br /> } catch (NumberFormatException e) {<br /> editKilos.setText(ERROR);<br /> Log.e(TAG, "e:" + e);<br /> }<br /> return true;<br /> }<br /> });<br /><br /> }<br />}tejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-13174786820102352802012-03-07T05:14:05.051-05:002012-03-07T05:14:05.051-05:00its for ubuntu 10.04its for ubuntu 10.04tejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-65957613668976450012012-03-07T05:13:22.195-05:002012-03-07T05:13:22.195-05:00plz help me out diego am unable to get it plz send...plz help me out diego am unable to get it plz send me the complete example with main application,testcase and plugins..and also how to configure the monkeyrunner tool in eclipse indigo 3.7 and android sdk 15 and python 2.4 .plz help me outtejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-57047024812313482462012-03-07T05:10:50.814-05:002012-03-07T05:10:50.814-05:00i want small example for monkey runner .i.e with m...i want small example for monkey runner .i.e with main android application and android junit testcase and monkeyrunner scripting with plugins .how to create plugins .i need complete example plz help me outtejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-26112769484476161152012-03-07T05:08:03.310-05:002012-03-07T05:08:03.310-05:00hi diego am getting error like from com.android.mo...hi diego am getting error like from com.android.monkeyrunner import MonkeyDevice ,MonkeyRunner<br /> no module Named MonkeyRunner And MonkeyDevicetejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-20805372592262565812012-03-07T05:06:13.001-05:002012-03-07T05:06:13.001-05:00i need monkey runner configuration for python 2.4 ...i need monkey runner configuration for python 2.4 and indigo 3.7 and sdk 15 in linuxtejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-57024260836762628372012-03-01T23:23:04.889-05:002012-03-01T23:23:04.889-05:00Sorry, I don't know if this is exactly what yo...Sorry, I don't know if this is exactly what you are asking for but according to what was stated in the <b>Update: September 2011</b> to this post, the wrapper it's not needed any more with the latest tools.<br /><br />Feel free to post another question if you were asking something different.Diego Torres Milanohttps://www.blogger.com/profile/12030778501784140349noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-41504746859374376102012-02-29T04:05:17.094-05:002012-02-29T04:05:17.094-05:00should we change the whole monkeyrunner scripting ...should we change the whole monkeyrunner scripting in bash file or just v should add the provided scripttejuhttps://www.blogger.com/profile/10967681175403616219noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-58356129491850056572012-01-27T04:41:13.461-05:002012-01-27T04:41:13.461-05:00This blog is looking good and its having the usefu...This blog is looking good and its having the useful information, so it can easily to reach the correct market place.<br /><br /><a href="http://www.android-developers.in/" rel="nofollow">Android developers</a>Android developerhttps://www.blogger.com/profile/00419561840667606557noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-45077258786057348212012-01-11T08:21:22.293-05:002012-01-11T08:21:22.293-05:00This is one of the wonderful and good post.I like ...This is one of the wonderful and good post.I like your blog technique.Nice post.<br /><a href="http://www.android-app-development.com" rel="nofollow">Android app developers</a>Android app developmenthttps://www.blogger.com/profile/09663450300679743066noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-73148067101260431322011-11-14T06:04:10.981-05:002011-11-14T06:04:10.981-05:00Hi Diego,
Since I am very new to eclipse and PyDe...Hi Diego,<br /><br />Since I am very new to eclipse and PyDev environment, I could only manage to configure PyDev to Eclipse and got stuck at importing monkeyrunner package into my application testing .py file.<br /><br />Got vexed of all trails even your script step. Tried adding monkeyrunner at project --> External Libs and preferences --> libraries. Which is in fact not accepting as version conflict.<br /><br />Can you please resolve my problem with below declared current environment.<br /><br />Env details<br />PyDev:2.2.4<br />Python 2.6<br />Eclipse Helios Service Release 2<br /><br />Please let me know if you require more details from my sideRajhttps://www.blogger.com/profile/09871675947018381466noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-8994467797753574272011-11-09T03:44:59.470-05:002011-11-09T03:44:59.470-05:00Windows never worked,even with the latest PyDev 2....Windows never worked,even with the latest PyDev 2.2.3<br /><br />I think the author should mention that he never tried on Windows. That would save lots of time for others.Truebithttps://www.blogger.com/profile/00540558941030348100noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-86881114668615643822011-10-12T04:35:10.290-04:002011-10-12T04:35:10.290-04:00This comment has been removed by the author.DaDahttps://www.blogger.com/profile/17007067133380687138noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-69824875042803044322011-10-07T01:27:09.026-04:002011-10-07T01:27:09.026-04:00This comment has been removed by the author.DaDahttps://www.blogger.com/profile/17007067133380687138noreply@blogger.comtag:blogger.com,1999:blog-25456655.post-36605734636262438622011-10-06T23:29:57.631-04:002011-10-06T23:29:57.631-04:00@latha, you question may help other people so I...@latha, you question may help other people so I'm preparing a post with the detailed answerDiego Torres Milanohttps://www.blogger.com/profile/12030778501784140349noreply@blogger.com