Sunday, June 5, 2011

Download Selenium RC 1.0.3

The most stable version of Selenium RC is available at:

http://code.google.com/p/selenium/downloads/list

Saturday, June 4, 2011

IDE Exercises

Ex-1
•Open a specific URL (www.amazon.com)
•Select “Books” under Search Select List
•Search for a specific text (“Java”) in #1 page
•Sort by “Prize: Low to high”
•Check whether the windows title matches “Amazon.com: Java: Books”
•Check whether the result set contains “Java” text
•Click the link #2
•Check whether the result set contains “Java” text

Wednesday, June 1, 2011

Selenium IDE 1.0.11 released

Selenium IDE

Selenium IDE is the a Firefox plugin that does record-and-playback of interactions with the browser. Use this to either script simple scripts, or to speed up creation of Selenium RC or Selenium Webdriver scripts.

Download version 1.0.11 released on 30/May/2011 or view the Release Notes

http://seleniumhq.org/download/

Saturday, April 30, 2011

DDT Code

//Data Driven Test Framework using Selenium and TestNG
//This Test performs search for the movie and looks for the attributes on the result page
//Data is read from the Excel SS - imdb_data1.xls
package script;

import com.thoughtworks.selenium.*;

//import org.junit.AfterClass;
import org.openqa.selenium.server.SeleniumServer;
import org.testng.annotations.*;

import java.io.File;
import jxl.*;

public class dataProviderExample extends SeleneseTestCase{

@BeforeClass
public void setUp() throws Exception {
SeleniumServer seleniumserver=new SeleniumServer();
seleniumserver.boot();
seleniumserver.start();
setUp("http://www.imdb.com/", "*firefox");
selenium.open("/");
selenium.windowMaximize();
selenium.windowFocus();
}

@DataProvider(name = "DP1")
public Object[][] createData1() {
Object[][] retObjArr=getTableArray("test\\resources\\data\\imdb_data1.xls",
"DataPool", "imdbTestData1");
return(retObjArr);
}


@Test (dataProvider = "DP1")
public void testDataProviderExample(String movieTitle,
String directorName, String moviePlot, String actorName) throws Exception {
//enter the movie title
selenium.type("q", movieTitle);
//they keep switching the go button to keep the bots away
if (selenium.isElementPresent("nb15go_image"))
selenium.click("nb15go_image");
else
selenium.click("xpath=/descendant::button[@type='submit']");
selenium.waitForPageToLoad("30000");

//click on the movie title in the search result page
selenium.click("xpath=/descendant::a[text()='"+movieTitle+"']");
selenium.waitForPageToLoad("30000");
//verify director name is present in the movie details page
verifyTrue(selenium.isTextPresent(directorName));
//verify movie plot is present in the movie details page
verifyTrue(selenium.isTextPresent(moviePlot));
//verify movie actor name is present in the movie details page
verifyTrue(selenium.isTextPresent(actorName));
}

@AfterClass
public void tearDown(){
selenium.close();
selenium.stop();
}

public String[][] getTableArray(String xlFilePath, String sheetName, String tableName){
String[][] tabArray=null;
try{
Workbook workbook = Workbook.getWorkbook(new File(xlFilePath));
Sheet sheet = workbook.getSheet(sheetName);
int startRow,startCol, endRow, endCol,ci,cj;
Cell tableStart=sheet.findCell(tableName);
startRow=tableStart.getRow();
startCol=tableStart.getColumn();

Cell tableEnd= sheet.findCell(tableName, startCol+1,startRow+1, 100, 64000, false);

endRow=tableEnd.getRow();
endCol=tableEnd.getColumn();

System.out.println("startRow="+startRow+", endRow="+endRow+", " +
"startCol="+startCol+", endCol="+endCol);
tabArray=new String[endRow-startRow-1][endCol-startCol-1];
ci=0;

for (int i=startRow+1;i<endRow;i++,ci++){
cj=0;
for (int j=startCol+1;j<endCol;j++,cj++){
tabArray[ci][cj]=sheet.getCell(j,i).getContents();
}
}
}
catch (Exception e) {
System.out.println("error in getTableArray()");
}

return(tabArray);
}

}//end of class

Sunday, April 24, 2011

Android Apps Testing Tool-kit

Playing around with idea to develop a testing tool-kit for Android. With so many applications being built, there is a dire need to shorten the time to market. That is the main reason, most of the applications available in the market either crash or do not meet user expectation. It is apparent that the quality is veiong sacrificed in order to mee the deadlines. To ensure that the Android apps are delivered with quality and also in time, there is a need for a testing framework that can check on the quality of apps on certain standard parameters as below:

1. Installation testing:
Tester’s need to focus on installation & uninstallation of the app. User will install the app through Market place, but since the app is not in market place testers can use the app installer from marketplace for installation tests.

2. Requirement (Functionality) Testing:
Test for the application functionality according to designed test cases.

3. Widget testing:
Test the widget by adding widget, using widget as per functionality i.e. music widget should play music, deleting widget.

4. Phone Interrupt testing:
Test the application behavior on phone call, SMS & other notifications.

5. Stress testing (monkey test):
There is a command in android where it generates series of events at different frequencies.
Make sure your app passes this monkey test

6. UI testing:
Testing for UI can be done to verify that the app meets standard guidelines.

Refer the link below:
http://developer.android.com/guide/practices/ui_guidelines/index.html

7. Compatibility Test:
Developers do the unit testing on the emulators. Testers need to test on actual environment i.e. devices. There are multiple devices of different resolutions & having various OS i.e. Android 1.5, 1.6. 2.1 & 2.2. We need to check for compatibility on maximum devices.

Tuesday, April 12, 2011

Android App Testing



Robotium

Robotium is java based (jar) and can be run through Eclipse IDE.

Robotium officially supports Android 1.6 and up.

For more information on features of this Apache open-source tool, please click on the above link.

Sunday, April 10, 2011

Test

1. What does SIDE stand for?


2. What is a GPL (General Public License)?


3. What are main components of the Selenium Toot-kit?


4. I installed Selenium IDE from Internet Explorer and then installed Firefox browser. Would it work, please explain?


5. What is the use of “Clipboard Format” in IDE?


6. What is the use of “Find” button on IDE?


7. What is difference between “assert” and “verify” commands?


8. What must one set within SIDE in order to run a test from the beginning to a certain point within the test?


9. What does a right-pointing green triangle with one line at the commands icons in IDE indicate?


10. What distinguishes between an absolute and relative URL in SIDE?


11. When ran as part of the whole Test the command runs fine but when I run it through the option "Execute this command X" in IDE then it fails, why?


12. How would one access a Selenium variable named "Vcount" from within a JavaScript snippet?


13. How would one access a Javacsript Stored Variable named "vStored" from within a JavaScript snippet?


14. What Selenese command can be used to display the value of a variable in the log file, which can be very valuable for debugging?


15. If one wanted to display the value of a variable named “Vanswer” in the log file, what would the first argument to the previous command look like?


16. Where did the name "Selenium" come from?


17. Which command(s) can be used to check that an alert with a particular message popped up?


18. What command simulates selecting the browser's Back button?


19. Why do you use the ‘click’ command at times and then the ‘clickAndWait’ command at others? What’s the difference?


20. If the Test Case frame contains several test cases, how can one execute just the selected one of those test cases?


21. What is the generic name for an argument (to a Selenese command) which starts with //?


22. How can I change sequence of Test Cases in my Test Suite?


23. How can I change sequence of commands in my Test Case?


24. What is the oddity associated with testing an alert?


25. How can one get IDE to always record an absolute URL for the open command's argument?



26. What are the benefits of using Integrated Development Env like Eclipse?


27. What is the use of importing libraries in the Java code?


28. What is Bromine?


29. What is Selenium GRID?


30. What is the price of Selenium license per server?


31. What is the minimum programming knowledge required to test using Selenium IDE?


32. What programming languages can you use in RC?


33. If you have an application to test which was developed in PHP, can you use Java programming language Test Scripts in RC to test it?