Android Automation Testing - Java for Android App Development

I've an apk to be tested using Robotium. In the application I'm going to test there is a custom view(Window) on which there are some text and numeric parameters drawn using ownerDrawn and Paint. The custom view is a child of the relative layout. Since I'm not able to get the resource id of the parameters drawn on the custom view,I'm finding it hard to test the existance of parameters and read the value of the parameter on that view. Please help me out with a solution on how would I do that.
The Custom View is similar to the one attached here.
Please suggest me if there is any other way to achieve this.
Thanks

Related

HOWTO: save complex structures in a file?

hi,
I have a program and it has lots of settings saved in memory, when I exis the program I need to save settings in a config file.
My program has CString(s), CArray(s) and other basic int and DWORD varibles, so how can I save such complex settings?
Mohammad
as xml maybe
If you're using MFC you could always attach a CArchive to a file and serialize
Perhaps you need to either create a log file - for debugging purposes or save your settings to the registry. If its the former then, check this one http://www.codeproject.com/ce/GenericLogFunctionality.asp it should be helpful. If its the latter, then you just search codeproject and you'll find lot of tutorials on the registry. Also, you can use CEDB which is a flat table data base that can store many data type structures including files and images, use it if you need to.
It may seem like you're lost now, but you can take an overview about the cons and pros of each technique so as to choose the best one for you.
For my config file I use plain english bounded by my own tags. I use a character sequence as a seperator for lists. I convert numerical values into text that can be human readable. There are some benefits to being able to read and edit it manually if the need arizes. I also made a class purely for writing and reading from my config file. Now when I to use a config file I can just drop that class into my project.
XML sounds good and similar but it would require a greater knowledge of xml.
Registry is easier and faster to do/execute but for data that can potentially grow too much it is probably best to keep it out of registry.
Is CArray serializable? do we just simply use CArray::Serialize and it will dump all included objects into a file?
thanks
http://msdn2.microsoft.com/en-gb/default.aspx
this site may be helpfull while you wait for somebody to answer your question
If you can it would be easier to use CObArray and ensure that the array members are subclassed from CObject with the DECLARE_SERIAL / IMPLEMENT_SERIAL macros. You could also add a new << operator to the CArchive class and write the serialization routine but that would kinda defeat the object I guess.
I solved the issue using serialization, for CArray structures I used the following method:
File<<MyArray.GetSize();//store how many objects
for(all my objects in the CArray)
serialize them one by one
I did the same when loading and it works flawlessly.
Thanks all for your help

Yet Another CellID Application

yes, but based on a flexible set of methods
-Using RIL (GSMTestMode)
-Using RIL_GetCellTower
-Using RIL Notifications
-Using RIL (fieldtest) -> reply structure has to be found
-Using offset method (few structures included)
-Using COM port
The project is based on:
-cellguardian.dll and cellguardian.xml : How to get CELLID on devices
-cell2latlon.dll and cellDb.xml : Calculate lat/lon using CELLID
-gsmcelluloz.exe : the main exe
-gsmcellulozCF.exe : the same, as PoC, in CF, but very simple
http://usuc.dyndns.org/tv/gsm/gsmcelluloz/
DEBUG mode creates a lot of log in \Temp
The device method configuration is in a file called "cellGuardian.xml"
Offset version works only with the "ALL" parameter (I don't know what defines the offset, which component version?)
Many things should be incomplete (like documentations )
Here is a google map (result from logging) made using a GSMTestode compatible device:
http://usuc.dyndns.org/tv/gsm/releve_poly.php
I'll write a quick documentation on how using cellguardian.dll (the brain from the cellid-getting), and cellguardian.xml.
I'm also working in antenna position interpolation but it's an harder process... (for now the cell2latlon works but uses a very simple barycentric algorithm)
Sample walk:
http://usuc.dyndns.org/tv/gsm/testParcours.php
Have fun, I hope to have some fieldtest compatible device log in order to decrypt the structure
If your device is still not working... Tell me!
The source will be released as soon as the modaco challenge will be finished (I hope to win a device with cellguardian.dll... or a sticker )
Did not work for me Tornado with Crossbow-Rom, i think you may ask maniac for the Offsets, he created CellProfileSwitcher, an very useful SmartPhoneTool with a huge list of compatible devices.
In Combination with your Tool it may be useful to create my own "CellMap", to see my Homezone or some other kind of zones, switched by CPS,yea.
But the Screenshots looks nice,...
Thank your for another nice way to waste my time with my lovely Phone,hehe...but i need the offsets...dont know how...
Have you tried "Find offset" in the 8FFB0000-8FFC0000 range?
8FDC0000-8FDD0000
8F1D0000-8F1E0000
8A3B0000-8A3C0000
8A4B0000-8A4C0000
8C0D0000-8C0E0000
Are other possible ranges.
The result will be contained in a file located on \Temp
Possible structures (if you define your configuration in cellguardian.xml)
TORNADO
TYPHOON
IPAQ
MPX220
WIZARD
Offset method will be activated once you'll have removed other options (COMPORT...) from the config file.
Remember that as long as I don't know what defines the offset, the only version that works is "ALL". This field will be used once I'll be quite sure the component version defines really the offset.
I hope to improve it, but also to let a chance to the user to configure it by himself.
Quick help page
I made a quick help page to help ppl finding the offset until I find some cleaner way to find it...
http://usuc.dyndns.org/tv/gsm/help/
After this, just modify \Program Files\cellguardian.xml
and replace
<device name="HTC Tornado">
<OEMID>Qtek 8310</OEMID>
<method type="RILHTC1"></method>
<method type="RILTOWER"></method>
<method type="COMPORT"><port>COM9:</port></method>
</device>
Click to expand...
Click to collapse
by
<device name="HTC Tornado">
<OEMID>Qtek 8310</OEMID>
<method type="OFFSET">
<offset version="ALL" structure="TORNADO">YOUROFFSET</offset>
</method>
</device>
Click to expand...
Click to collapse
Where YOUROFFSET is the offset you found (try the adresse ranges I suggested above)
Let me be your tester
Hello!
I have found your excellent project and I am going to test it and share with you results. My phone is smartphone - HTC S310 (know also as HTC Oxygene, SPV C100).
When I am launching the application I get error:
Cannot load \Program Files\GSMCelluloz\CellGuardian.dll:0x7e126
Is your app suitable for smartphones? I have downloaded the
GSMCelluloz_SP5_R.CAB.
Maybe I should use:
GSMCelluloz_WM5_R.CAB?
What offsets sould I put to test my phone and which method?
Best greetings and congratulations for your job!
RA
Solved
abramq said:
When I am launching the application I get error:
Cannot load \Program Files\GSMCelluloz\CellGuardian.dll:0x7e126
Click to expand...
Click to collapse
Hi again!
The problem was because I've installed app on card, not on device memory.
Cell searching works excellent, on my phone works GSMTestMode method (I am going to find out the differences between methods, but don't know where).
By the way - user interface for smartphone (non-touch display) looks like not fnished - 'backspace' keys doesn't work and it is difficult to leave edit mode too.
Will test it more and make some enhancement
Best greetings and please keep working
JA
P.S.
What Compact Framework needs the CellulozCF? I have the 2.0 and the app doesn't work (I get the unexpected error: Microsoft.AGI.CommonMISC.HandleAr() in System.Windows.Forms.Control._InitInstance.
I think the best cell id application from all times ever would be that which can change phone profile depending from location. I saw someone here is trying to do it, but will not be free, so no use. An app like that will eclipse all other... it will be like the next step in mobile evolution. Probably japanese already have it.
You are outDated...this idea is really old...lookat maniacs Homepage;
Maniacs SmartPhoneTools
...but for now not useable on devices without TiOmapProcessor
But PhoneAlarm by PocketMax supports different [email protected],too.. but cost money and hard to configure,no learningfunction,no neighbourcells and you have to add every Cell one by one...
but youre right,too; Actions by Locations are always missed in Apps with Notifications or ProfileChangingFunction.

fieldtest users: need help!

Hi, I'm developping a sublayer to abstract the way the developpers use CellID, and the methods to get the datas from different devices.
I reverse engineered fieldtest.exe and would like to test it. I contacted some of you, and none gave me the informations I was needing. The problem is: I think I have the correct request, but don't know what kind of structure it is. If you could provide a screenshot, it would be a great help to quickly identify the structure.
I don't have a Hermes, and I cannot try it by myself.
Could you please test this in debug version (D and not R)
http://usuc.dyndns.org/tv/gsm/gsmcelluloz/
Here you'll see the result (maps of signals per cellid)
http://usuc.dyndns.org/tv/gsm/
Thanks to send me the \Temp\gsmcelluloz.txt files (stop it after a minute, could quickly become very big!) to: [email protected]
This way, you'll be able to use a DLL to get cellid which will work on many devices, because it uses COM port method, GSMTestMode method, offset method and soon (I hope) fieldtest method.
I will try it when get home, so i can run a backup in case the worst happens and i need to hard reset
It's just an application, it won't brick your device
Anyway, It reminds me to make one.... It's always useful to have a recent backup...
It will show only "0" for now, because I don't have the gsmcelluloz_log.txt files made on HERMES to understand how the answer looks like. But shortly after I'll have those files, it will show the real values.
Please add a fieldtest screenshot to help me identify the fields
Thanks
i've mailed you the log file and the screen shot.
Here are my logs. Hope it helps.

WYSIWYG editor for settings.xml ?

Is there any kind of visual editor for the homesettings.xml?
I am going by trial and error just to understand what modifies what in that file.
Or maybe at least a guide to what graphical pieces are identified by which label in the xml?
I've found the official guide to the xml, but it just explains the fields, not the lines themselves.
Thanks
edit
Also i noticed that sometimes moving just one elements, moves a lot of other untouched elements.
As if there is some kind of hierarchy or referencing method.
Is anyone aware of this?
I can't find any evidence in the xml...

Android indoor map generates different path from point a to b depending on user input

Android indoor map using image generates different path from point a to b depending on destination's input (No use of indoor navigation technologies)
I'm working on an android app for my final year project and I'm unsure how to solve this problem. I would like some advices to get me started in the right direction.
The project is to develop an android app to output a direction path from point a to point b on an image representing a two dimensional indoor map. The direction displayed will be depending on the user's input (destination). The starting point will always be the same location on the image. Once the user select a specific object, the app should find its location on the map using a database and then draw the direction's path from Point "a" to point "b".
I do not want to use any indoor navigation technology for this app. The location of each object on the map should be predefined and stored in a database.
The part which I am really unsure about is how to do the following for and android app. --> How to predefine points on an image and how to use these predefined data to display the path to take in the image representing the indoor map. I have been advised to use SVG (Scalable Vector Graphics), I have found androidVG to use SVG with android but I haven't found much information on it.
I am currently clueless regarding what language and techniques to use in order to perform the above feature on android.
Questions:
1) What general advice would you give me on how to effectively tackle this problem from the information I've provided?
2) Was I correctly advised when I have been given SVG as one of the language to use for the development of this app? If I was, would anybody have any more information on using SVG for android to provide me with?
3) IF there would be a better way to solve this problem which language should be used?
I really appreciate all the help provided in this community. Hopefully I have been clear enough, hoping to have my questions answered.
Thank you!

Categories

Resources