Posts

Showing posts with the label Mobile Testing

Fan of the Ghostlab

Image
Do you want to test your responsive website on every possible device but just worry about automating one. Found a bug the front-end guys need to fix? The hassle of remembering how to do a screenshot on a particular mobile device, getting it off the device and firing up your image editor to do your annotations has finally ended: Take a screenshot directly from within Ghostlab, annotate it in the integrated image editor and drag it to JIRA or whatever bug tracker you use. Easy as that. Works for any device. Connect any number of browsers and devices, and Ghostlab will keep them in sync through navigating, scrolling, filling out forms and any other interaction. Get to the bottom of any CSS problem fast by inspecting any connected client. DOM modifications can be propagated to all clients – this is synchronized inspection. Ghostlab keeps track of changes to local files and refreshes them on all connected clients. If you are using preprocessors like Sass or TypeScript,...

Hive Mind - A mobile device monitoring and inventory application

Image
One of the best open source contributions from BBC : HiveMind   - device monitoring and inventory application Hive CI   - Connect your physical devices to a hive and run your tests on the same platforms as your users Hive Scheduler - This is the hive web application for scheduling tests and viewing results Hive Runner - This is the component that detects devices and runs the tests. You can install runners on multiple machines and they will all run tests from the scheduler and report results back in. Testmine - Testmine is an optional results engine for HiveCI. It is a seperate application that stores detailed reports of your test runs, and lets you investigate trends in test performance. Hive CI Device-centric CI

A curated list of the free Software Testing eBooks

Image
Here is an amazing list of testing ebooks: Note:  This is a work in progress and I will keep adding more eBooks as I find them. It is on git-hub so people can share and contribute. https://github.com/AdyKalra/TestingEbooks Here is a snapshot from github: TestingEbooks All possible testing ebooks Table of Contents Software testing theory Standards in software testing Testing of Free and OpenSource Software Testing with different programming languages Testing Tools Software testing theory Programs and Proofs. Mechanizing Mathematics with Dependent Types. Software testing - Ron Patton Measure Software Quality using Application Security (WIP) - Dinis Cruz The "A" Word - Alan Page Professianal Software Development (Chapter: "5. Software Quality") - Mike G. Miller Acceptance Test Engineering Guide, Vol. I - RC1 A Software Testing Primer (PDF) Classic Testing Mistakes (PDF) - Brian Marick Code Coverage Analysis - Steve Cornett Practical...

Facebook Infer - Detect bugs before you ship

Image
What is Infer? An Opensource tool to detect bugs in Android and iOS apps before they ship -  http://fbinfer.com/ Documentation (Getting Started Guide) -  http://fbinfer.com/docs/getting-started.html Quotes from "Peter O’Hearn" - engineering manager at Facebook When you have to write a software test, often you are going after a specific bug. That means you’ll need to exercise all of the funny cases that will get you to that bug. Static analysis allows you to execute the code symbolically It’s important to know that while things like Infer have made us faster and more successful, they’re not pieces of the Facebook competitive differentiator another huge benefit of open source is in recruiting. By showing you can open source stuff if you built it at Facebook, then you get excellent, independent engineers who don’t require as much ramp up time, since they’re used to working on these open source projects. So there’s far less training. Source: https://c...

Appium Version 1.3.7 released!

Image
Appium version 1.3.7 is available on Sauce. This small release includes two hot-fixes: General fixed a failure to remap session id in proxied responses iOS fixed intermittent failure to find Xcode http://sauceio.com/index.php/2015/03/appium-version-1-3-7-released-on-sauce-labs/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+SauceLabs+%28Sauce+Labs%29

Device Enablement in SeeTest

Image
The new feature of device enablement has made iOS mobile automation easy. Now we do not need a provisioning profile !! Here are the steps tried first hand: When you add a new device and select the checkbox for instrumented device, you now see a message: Choose the option for device enablement and click ok, you will see an automated mail sent to you   Once you have received the email on confirmation another email will be sent to the support as a request: Within a few hours you will receive a link to download the .def file! Happy iOS automation!!!

SeeTest Cheatsheet for Mobile test automation

Image
Here is the first of its kind a cheat sheet for SeeTest mobile test automation: P.S: Click on the image to download a larger copy. You can also email me for an excel version for easier navigation! Happy Mobile testing!

Modify the IP headers on the iPhone / Bypass or change the ip on any device

Image
Problem: If we need to test an application which is outside the network or with a different IP address how do we do that? we need to be able to use a proxy server that bypasses or replaces some properties that can be then used to modify the way the application is accessed. Solution: Here is an example of how to do that on an iPhone (You can do this for any device) : Go to settings in iPhone and modify the manual IP address. Give it the same IP address as that of the local machine where the proxy server would run and select a valid port : say 8080 To set the IP headers or proxy download the Burp Free edition from here:  http://portswigger.net/burp/download.HTML Go to the Intercept tab and make sure it is off. Go to Options tab and edit the Proxy listeners to local ip of the machine: Scroll down to Match and Replace Pick a Request header not in use and modify that: In our case “Client-Version” to Now check the  HTTP history tab to confirm that the header is re...

How do I get my Nexus 7 to show up in the adb devices list ?

Image
Problem: Nexus 7 that I'm trying to connect to Windows computer for automation over adb No device driver for nexus 7 ? What did not work: I did click on the build number 7 times to get the developer options enabled Tried connecting both as a Media device (MTP) and as a Camera (PTP). ("Connected as a media device" up at the top left corner, de-selecting Media Device (MTP) and then checking Camera (PTP).) downloaded this usb driver: http://dlcdnet.asus.com/pub/ASUS/EeePAD/nexus7/usb_driver_r06_windows.zip Go to the device manager , right click the nexus device and choose properties, choose "hardware" and then choose update your driver , choose manualy and pick the folder you opend the zip file to and press apply. What worked for me: The universal adb driver installer worked for me. Download the universal driver exe Run with the device connected and it will give you an option to install.  http://adbdriver.com/ Install that and you will...

Funny way to enable developer options on android

Image
Problem :  Toggle on the "USB Debugging" in the "Developer Options" area of Settings in an android device This is a prerequisite to perform automation. Solution: If you do not see "Developer Options" Go into "About device" in Settings  Tap on the "Build number" entry seven times, which will unlock "Developer Options". So it's that simple tapping  the build number will make you a developer :P

Install eclipse on Mac OS X 10.9 onwards / JRE or JDK must be available in order to run Eclipse.

Image
If you are seeing this error while launching eclipse after an update to your Mac machine: "A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse." There are couple of solutions: editing  eclipse.ini , adding in vm /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/java  just before the  -vmargs editing the  Info.plist  and adding the full path to the Oracle SDK, checked if syntax was correct by double clicking and succesfully opening it and verified that the path was correct. adding 4 capabilities to the JDK: CommandLine JNI BundledApp WebStart Applets The eclipse.ini entry must have -vm on a separate line from the path - vm / Library / Java / JavaVirtualMachines / 1.7 . 0.jdk / Contents / Home / bin / java All this after installing JDK7 and on my Mac I still see errors!! What finally wor...

SeeTest - Launch iOSBridge automatically

Image
If you are automating your apps on seeeTest + iOS and you see that the iOS Bridge just goes blank and says disconnected. You know that your tests will not run as the prerequisite for any test to run is that you need to have the iOS Bridge running in the background. Solution: Manually launch iOS Bridge on your phone. But what if your devices are located on a remote system and cannot be accessed ?? Solution:    Using the  Runtime Application Manager  mechanism The Application Manager is used primarily to install and instrument applications so that their Native and Web elements/objects can be used to test them .Applications are generally imported from the local disk of the tester's computer. Click on the 'Application Manager' button in SeeTest located under Applications on the left hand side corner. The icon looks like an import button The Application manager will then appear on your screen and you need to import the ipa file that is located in  < ...

Working on iOS Testing and want to add to the classpath on OSX / Mac

Image
If you want to make a certain set of JAR files (or .class files) available to every Java application on the machine, then your best bet is to add those files to /Library/Java/Extensions. Or, if you want to do it for every Java application, but only when your Mac OS X account runs them, then use ~/Library/Java/Extensions instead. In OSX, you can also set the classpath from scratch like this:export CLASSPATH=/path/to/some.jar:/path/to/some/other.jar Or you can add to the existing classpath like this:export CLASSPATH=$CLASSPATH:/path/to/some.jar:/path/to/some/other.jar Happy iOS testing!

Appium - Mobile test automation on a real device

Image
If you are looking to perform test automation on a real device (iPhone in my case) and you have had problems with the documentation on the official Appium website , the following post will help you for sure: Prerequisites:  Apple account with valid apple ID  Download and Install Eclipse on your Mac – A link that might help you with the installation process http://www.cs.dartmouth.edu/~cs5/install/eclipse-osx/ Download and Install Xcode Download Selenium Jars for java from the Selenium website Download the java client libraries from http://appium.io/downloads.html Download and install appiumD download the latest version from Appium.io. Mount the disk image.   Drag Appium.app to your Applications folder Download and Install brew (The missing package manager for OS X) It's on the bottom of the Homebrew homepage. http://brew.sh/  ( Yeah, it would be helpful if it was listed at the top, instead.) From a Terminal prompt:    ruby -e "$(curl -...