Posts

Showing posts from August, 2014

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 invm /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 JNIBundledAppWebStartApplets

The eclipse.ini entry must have -vm on a separate line from the path

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 buttonThe Application manager will then appear on your screen and you need to import the ipa file that is located in <SeeTest InstallationFolder>/bin/…

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 XcodeDownload Selenium Jars for java from the Selenium websiteDownload the java client libraries from http://appium.io/downloads.htmlDownload and install appiumDdownload the latest version from Appium.io.Mount the disk image.Drag Appium.app to your Applications folderDownload 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 -fsSL https://raw.github.com/mxcl/homebrew/go/install)"T…

How to create a new Apple APP ID and select the WildCard App ID option and set it to “*”

Image
An application ID uniquely identifies your iOS application within Apple's application services - enabling you to use things like in-app purchasing, push notifications, game center and more inside your app.
You can only create application IDs in the iOS developer portal. So first you would need to log-in with a developers access.
Once you're logged in, choose the "Certificates, Identifiers & Profiles" linkOn the next screen, choose the "Identifiers" option on the leftNow you can click the "+" icon near the top right to create a new App IDThe first thing you're asked to do is provide an App ID description (Just provide something descriptive enough for your needs)You have two options here. Pick the one that says - Wildcard App ID Choose an App ID Suffix as “*”Select App Services if neededComplete and submit to get a message – “This App ID is now registered to your account and can be used in your provisioning profiles

Appium: Fail could not start script target application is not frontmost

Image
I am guessing you are reading this post because you see this error even though you followed every single step religiously from the Appium API reference doc.

We are or were in the same boat!

First check

 Have you started the ios-debug-webkit-proxy on port 27753 after connecting to the device ?Can you see the terminal where you started the  ios-debug-webkit-proxy showing pages that you navigate on your deviceIf its started, can you connect to http://localhost:27753 on your local browser and browse the device and the pages currently active on the device ? This will ensure that appium is able to reach the device and talk to safari through the remote debuggerLastly your desktop Safari should also be running with Developer mode enabled. (Web inspector should be enabled) If you are still facing the same error after all the checks then we do what we do on windows: Close all prompts and restart the Mac and reconnect J
You will now see that it works like a charm :) Happy Mobile Testing!

Check dependencies code sign error safarilauncher.app OR Could not read CFBundleIdentifier from Info.plist

Image
If you are working on Appium and you have followed these step to get an error

Now that you have a profile open a terminal and run the following commands: git clone https://github.com/appium/appium.gitinstall npm using brew – brew install npmcd appium./reset.sh --ios --real-safari –launcher Just cloned SafariLauncher Running Xcode version 5.1
I entered my provisioning profile and my code signing identity
Clicked build I got this error  error: could not read CFBundleIdentifier from Info.plist (null)
Did a clean and rebuild but got the same error
Did a clean and built from ./build.sh and got the same error

Solution:
Go to Xcode open the project
Navigate to the Build SettingsChange the Code Signing Identity with your name and iPhoneDeveloperChange the provisioning profile to the correct name 

4.  Check if the Bundle Identifier isn't empty

Mobile Test Automation - iOS / Android / Windows + Real Device / Emulators + Instrumentation?

Image
I must admit that even though I was a test automation fanatic, in the past I had been running away from the mobile automation space. Finally the race is over and the obvious has happened, the mobile devices have won!

I started playing around with tools that support iOS and android platforms and found that  there are quite a few out there.All with promising abilities but a lot of communication gap.Conclusion: Mobile automation is where Web automation was say 7-10 years back but with a more definitive approach. The good thing is that slowly but steadily there are communities building around them, but a few tools stand out as always.
Note: Before I start off I would like to mention that the information here is based on trying to use these technologies firsthand and might not be 100 percent accurate. It is also based on various blogs, articles and websites that I read while evaluating the mobile testing frameworks and tools.


My Verdict: 

From my experience, automated testing for mobile devic…

Here is what proves that OZ has a lot to offer in the testing space

Image
Aussie firm aims to build 10,000-strong software armyRevolution IT banks on crowdsourcing to help win business.
Australian software testing provider Revolution IT is hoping to turn 10,000 local software professionals into a pool of software testers-for-hire. Just as sites like 99designs have popularised a model where freelance graphic designers compete for work at basement prices, Revolution IT is adopting a similar approach. The CRN Fast50 entrant plans to invite thousands of local software testers and professionals to sign up for what it says is Australian's first managed onshore crowd testing service. By combining these people with a talent pool of 100,000 via overseas crowdsourcing partners, Revolution IT hopes to become the "biggest testing organisation" in the world, in the words of Revolution IT director Hamish Leighton. "This puts us on a globe scale, bigger than any other of the outsourcers. The pool of talent we can reach now is phenomenal." The sheer…