Showing posts from June, 2011

How to install Webdriver on Android Emulator on Windows

Following my previous post, I needed to install Webdriver on Android Emulator .  I have Windows 7 installed and most of the instructions were for Linux, so I thought this might be helpful. So even this is pretty straight forward. Let’s run through the steps I followed to install Webdriver: Download “ android-server-2.0.2rc3.apk ” from the following location . Copy the above downloaded file into folder “ C:\Program Files\Android\android-sdk\ platform-tools ” Run the “Command Prompt” as administrator . Execute “ cd C:\Program Files\Android\android-sdk\platform-tools ” Execute the command “ adb install  android-server-2.0.2rc3.apk ” We also need to set up Port forwarding, run the command “ adb forward tcp:8080 tcp:8080 " Click on the WebDriver app on Emulator and this will make the android server available at “ http://localhost:8080/wd/hub ”. Opening this URL in Firefox will

How to install Android Emulator on Windows

As part of my testing work, I am currently working on using webdriver to test on Android. So I had to install Android Emulator on Windows 7. Below are the sequential steps and I hope it will ease some pain on getting Android emulator on your Windows 7 box. Download the installer from Install it to a location (like: C:\Program Files\Android) Launch “SDK Manager.exe” It will launch a “Android SDK and AVD Manager”. By default “Installed packages” will be highlighted. On the pop up “Choose Packages to Install”, there will be some packages selected already. Go ahead with the “Install”. 4.    Once it is done, select “Virtual Devices” to create one for you. Click on “New” and enter some name. Target as “Android 2.2 – API Level 8”. Select Size as “512” and “ Built-in ” to be “WVGA854” and click on “ Create AVD ”. 5. Once done select the Virtual device you created and click on Start . You can find the “Start” button on the right panel

Technology Adoption Lifecycle

Though there are many things I wish I could write and share with you all (what I learn at IIM), but I found this really worth and couldn’t resist. I am thinking of sharing some learning with you all going forward. Today I had a class on subject “Management of Tech Products” and Professor suggested a book “Crossing the Chasm” by Geoffrey A. Moore . Probably if you are associated with Product development and Management, this book would be a great source of knowledge and insight into product management. I would definitely recommend this! As per the book mentioned above, there is something called “ Technology Adoption Lifecycle “ model and it actually shows that a product marketer should focus one user group at a time. These are 5 different user segments who actually uses the product at different stages. Below attached is the picture of the same. Leaving you with this so that you feel like knowing more about it ! (Food for thought)

Twist – First 3 minutes !

Why first 3 minutes? Because I make my opinion in the first 3 minutes and one wrong direction will just spoil the whole show. So what all you need to know about Twist in first 3 minutes. This post is totally from a tester’s point of view and my personal opinion. So I will talk about features which as a Tester I would want to know in first 3 minutes of using Twist: Creating My First Test Project Launch Twist and then follow the navigation File –> New –> Twist Project . Enter some relevant project name, language is selected by default to “ Java ”. Click on “ Advanced ” and choose a driver . The moment you choose a driver (let’s assume I want to test a web application), you will be asked to choose a browser and provide a browser location. Now once you are done with all these things, you are done with your Environment Set up and project formalities. What next? Write your test   By default Twist gives you an empty scenario named as “ NewScenario ”. On top of the Scenari

Handling “Selenium (WebDriver) Exception: this.getWindow() is null”

I was trying to create a simple script to do few things : Launch Twitter Click on “Sign in” Log in with username "testmail" and password "password" Relevant Webdriver script is: public void launchTwitter() throws Exception {         browser.get("");     } public void clickOn(String string1) throws Exception {         browser.findElements(By.className("promotional")).get(0).submit();     }     public void logInWithUsernameAndPassword(String string1, String string2)     throws Exception {         browser.findElement("username")).sendKeys(string1);         browser.findElement("password")).sendKeys(string2);         browser.findElements(By.className("submit")).get(1).submit();     } While trying to play it back on Firefox 4 , script failed on below step browser.findElement(By.i

Playing Back a WebDriver script in Firefox 4 behaves weirdly

Well there are some issues with Firefox 4. So I had a script created to search some key words on Google.  I tried playing it back and I find it failing. Not so impressive ! So my script looked something like public void someGoogleSearchFor(String searchKey) throws Exception {         browser.get("");         browser.findElement("q")).sendKeys(searchKey);         browser.findElement("btnG")).submit();         browser.findElements(By.linkText(searchKey)).get(0).click();     } I played it back in Firefox 4 and to my surprise I found the script failing on the last line browser.findElements(By.linkText(searchKey)).get(0).click(); So when I watched the script playing back again, I notice that instead of putting the search text in the “textbox”, it just appended the text in the URL and failed on the last line of the code where it has to click the search result which contains this text.

Automating tests in Twist

In past I have done quite some automation using C#, QTP and Loadrunner (yes using Loadrunner for functional test automation). From past 1 month I have started using Twist extensively. And it’s just an amazing experience ! I remember the readability of tests were limited only to me and the person I was working along with (when I was working on QTP or C# or LR). Though we use to give underlying methods a fancy name to convey the purpose of test but it must be a painful experience for a third person to extend and maintain it. And moreover business user wouldn’t make any sense out of it except the count of tests which has passed or failed. Why I am talking about all this is because I was actually automating a test in Twist around the “Inline Concept” feature. So here in Twist team, we use Twist to test Twist . Quite a twisted statement. :) Twist allows you to write tests in DSL (Domain Specific Language). So the advantage is my tests are more readable and functionally meaningful (in d