Saturday, May 26, 2012

DeviceAnywhere Studio

My personal experience with DeviceAnywhere Studio -

I have had a chance to use DeviceAnywhere studio in my one of the projects.

This post is an attempt to list down all the required things about DA Studio to get start.

Please note, this is based on my personal understanding. For detailed, i would advise to attend the webinar arranged by DeviceAnywhere.


What is DeviceAnywhere Studio :- DeviceAnywhere studio is repository of  physical devices using real cellular network. These devices are plugged in to the DA Studio servers and you need to install a client on your desktop to access these devices. [ In layman language you can compare this to remote desktop connection] Through this client you can access the physical devices. DA Studio will be just interface between your machine and devices.

What you can do with these devices:- You need to acquire the device, and just start using it. To perform the actions on physical device, you can use device keypad or your desktops keypad.
After acquiring the devices using the right pane, you can perform actions like restart the device, pull the battery, screen resolutions and other device aspect.


If you are performing application testing, then you can upload your mobile builds through this section of devices. You need to upload them as per application type viz -Android app, iPhone app etc.
Applications can be removed as soon as you release the device, considering the security aspect.

DeviceAnywhere Packages :- Devices are available as per your package. They have standard packages e.g. [US AT&T] - in this package all the devices will be on AT&T carrier in US [North America] geography.
Package is nothing but "how the devices are grouped" i.e. based on carrier, based on Device OEM's, based on user's requirement.
DeviceAnywhere provides end to end testing features like creation of test cases, execution of test cases, tracking of defects.
DeviceAnywhere have provided the feature of capturing the screen shot as well as video of actions performed on the devices.You can book the devices in advance as per your requirement.

@ Automation capabilities:- Yes, DeviceAnywhere support automation. They have defined controls which are used to perform the actions on devices.

If you have any queries, please give a shout. I will try to respond to best of my knowledge.

Sunday, May 20, 2012

Invoke 'adb' from any location


1.0 In Android SDK, android debug bridge (adb) is invoked through platform-tools folder. User have to go to platform-tools folder each time through command prompt and execute the adb commands. 




2.0 By adding the location of adb to Path variable, we can execute the adb from any location. 
3.0 Navigate Computer --> Properties --> Advanced system settings --> Enviornment Variables. 
4.0 Edit the 'Path' system variable. 
5.0 At the end of 'Path' system variable, add the semicolon and add the path of adb. e.g. if your sdk is on D drive then D:\android-sdk-windows\platform-tools 


6.0 Save the changes. 
7.0 Navigate to command prompt and execute any adb command to verify that its working.



Wednesday, May 16, 2012

ADB commands

ADB (android debug bridge) is command line utility available in Android SDK to manage the emulators. Below are all the commands - 



Android Debug Bridge version 1.0.20

 -d - directs command to the only connected USB device                               returns an error if more than one USB device is present.
 -e - directs command to the only runing emulator.                                 returns an error if more than one emulator is running.
 -s  - directs command to the USB device or emulator with
the given serial number
 -p - simple product name like 'sooner', or
a relative/absolute path to a product out directory like 'out/target/product/sooner'.If -p is not specified, the ANDROID_PRODUCT_OUT environment variable is used, which must                                  be an absolute path.
 devices - list all connected devices

device commands:
adb push  - copy file/dir to device
  adb pull - copy file/dir from device
  adb sync [ ]- copy host->device only if changed
                                 (see 'adb help all')
adb shell - run remote shell interactively
  adb shell - run remote shell command
  adb emu   - run emulator console command
  adb logcat [ ] - View device log
  adb forward - forward socket connections
                                 forward specs are one of:tcp:
                                   localabstract:
                                   localreserved:
                                   localfilesystem:
                                   dev:
                                   jdwp: (remote only)
adb jdwp - list PIDs of processeshosting a JDWP transport

adb install [-l] [-r] - push this package file to the device and install it
                                 ('-l' means forward-lock the app)
                                 ('-r' means reinstall the app, keeping its data)
adb uninstall [-k] - remove this app package from the device
                                 ('-k' means keep the data and cache directories)
  adb bugreport                - return all information from the device
                                 that should be included in a bug report.

  adb help                     - show this help message
  adb version                  - show version num

DATAOPTS:
 (no option)                   - don't touch the data partition
  -w                           - wipe the data partition
  -d                           - flash the data partition

scripting:
  adb wait-for-device          - block until device is online
  adb start-server             - ensure that there is a server running
  adb kill-server              - kill the server if it is running
  adb get-state                - prints: offline | bootloader | device
  adb get-product              - prints:
  adb get-serialno             - prints:
  adb status-window            - continuously print device status for a specified device
  adb remount                  - remounts the /system partition on the device read-write

networking:
  adb ppp [parameters]   - Run PPP over USB.
 Note: you should not automatically start a PDP connection.
  refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
 [parameters] - Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ ]
  can be interpreted in several ways:

  - If is not specified, both /system and /data partitions will be updated.

  - If it is "system" or "data", only the corresponding partition
    is updated