Setting up Selenium with Eclipse

by seetaram on May 31, 2011

In my earlier post I have explained how to setup Selenium with Eclipse but there I have utilized example of SugarCRM.  So, in order to avoid downloading SugarCRM I thought of writing one more post on the same topic which uses Google as example.

Eclipse is an open source Integrated Development Environment which supports multiple languages.   Most of the java developers use Eclipse IDE for software development as it is highly extensible with plug-in system and user friendly.  We can add external libraries to build path in order to utilize any external APIs available.

In order to setup Selenium in Eclipse, Selenium-Client-driver needs to be added to the Java build path – – >Libraries

In the below example, we will discuss setting up Selenium in Eclipse Step-by-Step.

For this purpose I will utilize Advanced Google Search example.

  1. Download the latest Eclipse release from – www.Eclipse.org
  2. Create a project.  In my example -> PracticeCode.  (File ->New-> Java Project ->Give name as PracticeCode)
  3. Create Package under this project ->com.selftechy.parameterization
  4. Under this package – > create a new class (AdvancedSearch.java)
  5. Add Selenium-Client-Driver (this needs to be downloaded from www.seleniumhq.org)to Java Build Path of the project:
  • Right click project (PracticeCode)
  • Click Properties
  • Click Java Build Path
  • Click Libraries
  • Click Add External Libraries
  • Select the Selenium-Client-Driver

 

Open AdvancedSearch.java class and copy the following code:

package com.selftechy.parameterization;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class AdvancedSearch extends SeleneseTestCase {
	@Before
	public void setUp() throws Exception {
		selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://www.google.co.in/");
		selenium.start();
	}

	@Test
	public void testAdvancedSearch() throws Exception {
		selenium.open("http://www.google.com/");
		selenium.click("link=Advanced search");
		selenium.waitForPageToLoad("30000");
		selenium.type("as_q", "selftechy, selenium, eclipse");
		selenium.select("num", "label=20 results");
		selenium.click("//input[@value='Advanced Search']");
		selenium.waitForPageToLoad("30000");
	}

	@After
	public void tearDown() throws Exception {
		selenium.stop();
	}
}

In the above code we can see “extends SeleneseTestCase”  and “import com.thoughtworks.selenium.*;” these two phrases tell Eclipse that we are going to use Selenese commands in the subsequent methods.

In order to run this test case we need to start the Selenium Server first.  Follow the steps below to run the Selenium server.

Download Selenium Server from www.seleniumhq.com

Step 1: Create a new text file

Step 2: Open the file and type in following code into it (D:\Workspace-Helios should be changed to the path where selenium-server.jar file is copied)

CD D:\Workspace-Helios
java -jar selenium-server.jar -multiWindow

(Don’t copy and paste as it sometimes adds some special characters)

Step 3: Save it as “Selenium-server.bat”

Step 4: Double click the selenium-server.bat, this should start the selenium server.

Step 4: Still if you are not able to run, then execute both the commands in command prompt (Click Start -> Run ->cmd).

To run the AdvancedSearch.java –> Right click the file and click “Run As” — > JUnit Test

This opens up firefox and executes the test

{ 59 comments… read them below or add one }

abrakh June 16, 2011 at 3:27 pm

Hi Seetaram,

I was looking at your blogs for couple of days and found them very useful. Good work keep it up.

Reply

prathibha August 8, 2011 at 11:12 am

Hi

I tried these steps to setting up selenium with eclipse and i tried the google search example. It gives a error like selenium can’t be resolved.
what i do?
I am not understood this issue. Please help me.

Reply

prathibha August 8, 2011 at 11:35 am

Hi

I resolved the issue…. by extends the SelenceTestBase Class.

Thank you….

Reply

prathibha August 8, 2011 at 11:36 am

How can i run this it into the “chrome and ie” can u help me?

Reply

seetaram August 10, 2011 at 4:36 am

change the browser to “*ieexplore” / “*chrome”

Reply

prathibha August 10, 2011 at 6:04 am

It is not working. I changed the browser name as “*chrome” but it is not running. it giving failure message as
java.lang.IllegalStateException: The path to the chromedriver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://code.google.com/p/chromium/downloads/list
at com.google.common.base.Preconditions.checkState(Preconditions.java:172)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:86)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:87)
at com.prathibha.parameterisation.CreateAccount.setUp(CreateAccount.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

In build path i add chromedriver-linux-32.zip. coz I am using Ubuntu 10.10.
Can u please help me.

Reply

seetaram August 11, 2011 at 4:04 pm

Will try to help u out… today night will sit on this and find a solution…

Reply

prathibha August 10, 2011 at 6:10 am

i sent u a mail. In that i attached a program in that only chrome browser is opened. then immediately the script is terminated. can u see that once.

package com.prathibha.parameterisation;

import static org.junit.Assert.assertEquals;

import java.io.File;

import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterClass;

public class ChromeTest {

private static ChromeDriverService service;
private WebDriver driver;

@BeforeClass
public static void createAndStartService() throws Exception {
service = new ChromeDriverService.Builder()
.usingChromeDriverExecutable(new File(“/usr/bin/chromium-browser”))

.build();
service.start();

}

@Before
public void createDriver() {
driver = new RemoteWebDriver(service.getUrl(),
DesiredCapabilities.chrome());

}

@Test
public void testGoogleSearch() {
driver.get(“http://www.gmail.com”);
WebElement element = driver.findElement(By.name(“Email”));
element.sendKeys(“Google”);
element.submit();
WebElement button = driver.findElement(By.name(“signIn”));
button.click();
assertEquals(“Google – Google Search”, driver.getTitle());
}
@AfterClass
public static void createAndStopService() {
service.stop();
}
@After
public void quitDriver() {
driver.quit();
}

}
please find what is the issue in it and explain how to resolve it.

Reply

seetaram August 11, 2011 at 4:03 pm

/usr/bin/chromium-browser – are you on linux

Reply

prathibha August 12, 2011 at 5:00 am

Yes. I am working on Linux (Ubuntu 10.10).

Reply

swamy November 15, 2011 at 10:02 am

Hi

Please send me the perticular details with Excel sheet

Thanks
Swamy S

Reply

Cindy Owen August 31, 2011 at 3:48 pm

Hi Seetaram,

I’m tried to follow these steps yesterday. I have installed Eclipse Java EE IDE for Web Developers. I downloaded selenium_java-2.5.0.zip and selenium-server-standalone-2.5.0.jar and successfully started the selenium-server-standalone (java -jar selenium-server-standalone-2.5.0.jar -multiWindow). I have several questions/problems:

1. The “import org.junit.*” statement shows an error of “The import org.junit cannot be resolved.”
2. SeleneseTestCase has a line through it and there are several errors on the line:
Multiple markers at this line
– The type SeleneseTestCase is deprecated
– The hierarchy of the type AdvancedSearch is inconsistent
– The type junit.framework.TestCase cannot be resolved. It is indirectly referenced from
required .class files

Also when I was trying to Add Selenium-Client-Driver the procedure I used was slightly different from the instructions you provided. Here’s what I did. Please advise if this is incorrect.

Right click project (PracticeCode)
Click Properties
Click Java Build Path
Click Libraries
Click Add External Libraries <–This option was not available, I clicked Add External JARs and then selected downloaded selenium_java-2.5.0.zip file.
Select the Selenium-Client-Driver

In the Package Explorer, under PracticeCode there is a Referenced Libraries folder that contains the selenium-java-2.5.0.jar with all the com.thoughtworks and org.openqa.selenium packages.

Sorry if this is a very basic dumb question. I would really appreciate any help in getting these issues resolved.

Thanks,

Reply

Cindy Owen August 31, 2011 at 5:41 pm

I figured Problem #1 above. Still need help with the deprecated SeleneseTestCase.

Reply

seetaram September 5, 2011 at 1:32 am

“Deprecated” means the API that has been used in the program is being replaced by some other API. Just need to find out the new one and replace the existing in your program.

Reply

seetaram September 5, 2011 at 1:38 am

Hi Cindy,
Nothing is dumb question. I am really glad to help you.

Some of the steps you went wrong.

1. Add External JAR is correct but you needed to unzip the downloaded zip file and then add the jar file. (Eclipse expects JAR file in Add External JAR)
2. In the unzipped folder you can find – Selenium-Client-Driver (names might have been changed in the new Selenium 2.0 version)
3. Need to add Junit.jar file (download the jar file from junit website – just google “download JUnit” and download the jar file) and add using Add External jar
4. Yes. Google has changed the user interface on the Google Search screen – Need to find out the objects that needs to be clicked before going to Advanced Search option

Reply

seetaram September 7, 2011 at 1:24 pm

Now SeleneseTestCase is deprecated in the latest release hence we need to use SeleneseTestBase instead

Reply

A.K Ramesh October 25, 2011 at 3:40 pm

In selenium, how to identify new window which is not having windowId ,WindowName, WindowTitle.

Reply

VinodhR February 9, 2012 at 11:03 am

Hi Seetharam,

This blog is really useful for me to get start with eclipse – selenium integration with selenium RC.

Thanks a lot and i’ve started my first execution with the help of your guide.

– Vinodh.R

Reply

Kishor March 19, 2012 at 7:30 am

Hi Seetaram,
Thanx for the extremely useful article. I have faced one problem while trying to automate a website. The website is converted from http://abcd.com to https://abcd.com when trying to login. And the selenium is not able to handle the security message related to ssl certificate. Could you pls help me on this and tell how to resolve this. I think most of the automation testing beginners might be facing the same issue, so an article related to this will also be extremely useful.

Thanks in advance,
Kishor

Reply

seetaram March 24, 2012 at 9:26 am

create a new firefox profile.. that can handle this problem very well…

Reply

Kamlesh March 20, 2012 at 1:14 am

I need help to setup Selenium Webdriver using Eclipse. Please mhelp me. Thanks.

Reply

Faizan March 30, 2012 at 6:42 am

Hi Seetaram,

I’ve performed above mentioned steps but i’m facing following error on running the project

CODE:

package com.example.tests;

import com.thoughtworks.selenium.*;
import org.openqa.selenium.*;
import org.openqa.selenium.htmlunit.*;
import org.openqa.selenium.firefox.*;
import org.openqa.selenium.chrome.*;
import org.openqa.selenium.ie.*;
import org.junit.*;
import static org.junit.Assert.*;

public class Checkflow {

WebDriver driver;
Selenium selenium;

public void setUp() {
driver = new FirefoxDriver();
selenium = new WebDriverBackedSelenium(driver, “http://IP:8079/”);
}

public void tearDown() {
driver.close();
}

public void testCheckflow() throws InterruptedException {
///some code generated by selenium
}

}

ERROR:

Exception in thread “main” java.lang.RuntimeException: Opera could not be found in the path!
Please add the directory containing opera.exe to your PATH environment
variable, or explicitly specify a path to Opera like this:
*opera c:\blah\opera.exe
at org.openqa.selenium.server.browserlaunchers.OperaCustomProfileLauncher.findBrowserLaunchLocation(OperaCustomProfileLauncher.java:107)
at org.openqa.selenium.server.browserlaunchers.OperaCustomProfileLauncher.(OperaCustomProfileLauncher.java:67)
at org.openqa.selenium.server.browserlaunchers.OperaCustomProfileLauncher.main(OperaCustomProfileLauncher.java:331)
Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
Picked up _JAVA_OPTIONS: -Xrunjvmhook -Xbootclasspath/a:C:\PROGRA~1\HP\QUICKT~1\bin\JAVA_S~1\classes;C:\PROGRA~1\HP\QUICKT~1\bin\JAVA_S~1\classes\jasmine.jar

Please help….

Regards,
Faizan

Reply

tkirk June 20, 2012 at 3:07 pm

Thank you for the very helpful blog post.

Reply

seetaram June 29, 2012 at 4:08 pm

Thanks Tracey…

Reply

Hemanath June 26, 2012 at 6:48 am

I am using Selenium RC to run the Selenium Testcases in java,but I need to run in PHP for dat what i want to do in Eclipse???

Reply

seetaram June 29, 2012 at 4:01 pm

You can use Selenium for PHP.. use PHP WebDriver….

Reply

Hemanath June 30, 2012 at 5:23 am

k,but i want to use only in selenium RC through php

Reply

Hemanath June 28, 2012 at 10:19 am

How to record a autosuggested box in a grid through Selenium IDE

Reply

Hemanath July 9, 2012 at 6:11 am

Using selenium IDE, how can we record a thickbox????

Reply

cpg September 11, 2012 at 3:58 am

I am trying Eclipse / Junit / Selenium web driver / firefox / windows XP . path & CLASSPATH are set . selenium-java-2.25.0.jar , junit.jar are added in the project library . Selnium is running in the background : Example shows below error :

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader$1.run(Unknown Source)

Source code :

package com.selftechy.parameterization;
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class AdvancedSearch extends SeleneseTestBase {
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium(“localhost”, 4444, “*chrome”, “http://www.google.co.in/”);
selenium.start();
}
@Test
public void testAdvancedSearch() throws Exception {
selenium.open(“http://www.google.com/”);
selenium.click(“link=Advanced search”);
selenium.waitForPageToLoad(“30000”);
selenium.type(“as_q”, “selftechy, selenium, eclipse”);
selenium.select(“num”, “label=20 results”);
selenium.click(“//input[@value=’Advanced Search’]”);
selenium.waitForPageToLoad(“30000”);
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}

Reply

seetaram August 26, 2013 at 6:20 am

NoClassDefFoundError shows that some dependency jar is missing

Reply

rajesh September 13, 2012 at 7:17 am

Hi,
I’ve done all the steps. its working..thank u. but RC doesn’t open the browser and run automation.plz help me..

Reply

Hari October 31, 2012 at 3:10 am

Hi Seetaram,

This is Hari. I am looking for traning on Selenium. Would you please help me on this?
My email id – harioops@gmail.com
ph – 224 241 0266

Thanks
Hari

Reply

Harish November 19, 2012 at 1:24 pm

I am facing this problem that “selenium can’t be resolved”
please help
This is my first test case-
package com.apms.selenium;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.server.SeleniumServer;

public class APMS {
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium(“localhost”, 4444, “*chrome”, “http://website_address/”);
selenium.start();
}

@Test
public void testUntitled() throws Exception {
SeleniumServer.open(“http://192.167.0.5/”);
selenium.type(“name=Username”, “abcd”);
selenium.type(“name=Password”, “1234”);
selenium.click(“css=input.button”);
selenium.waitForPageToLoad(“30000”);
selenium.click(“//input[@value=’software status’]”);
selenium.waitForPageToLoad(“30000”);
verifyTrue(selenium.isTextPresent(“BV2.10.22.2”));
selenium.click(“css=td.bottom1 > input[type=\”submit\”]”);
selenium.waitForPageToLoad(“30000”);
selenium.click(“//input[@value=’network’]”);
selenium.waitForPageToLoad(“30000”);
selenium.click(“//input[@value=’ACS’]”);
selenium.waitForPageToLoad(“30000”);
verifyEquals(“http://Value”, selenium.getValue(“name=amamamDevice.ManagementServer.URLmamama”));
// selenium.();
selenium.click(“css=input[type=\”submit\”]”);
selenium.waitForPageToLoad(“30000”);
}

@After
public void tearDown() throws Exception {
selenium.stop();
}
}

Reply

Vasia December 25, 2012 at 12:58 pm

Thank you!

Reply

Sharath December 26, 2012 at 10:29 am

Hi.. I tried running my script with the steps given by you. But I got an error from it and it is

java.lang.NoClassDefFoundError: com/google/common/base/Charsets
at com.thoughtworks.selenium.HttpCommandProcessor.getOutputStreamWriter(HttpCommandProcessor.java:149)
at com.thoughtworks.selenium.HttpCommandProcessor.getCommandResponseAsString(HttpCommandProcessor.java:176)
at com.thoughtworks.selenium.HttpCommandProcessor.executeCommandOnServlet(HttpCommandProcessor.java:118)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:101)
at com.thoughtworks.selenium.HttpCommandProcessor.getString(HttpCommandProcessor.java:275)
at com.thoughtworks.selenium.HttpCommandProcessor.start(HttpCommandProcessor.java:237)
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:100)
at AdvancedSearch.setUp(AdvancedSearch.java:11)
at junit.framework.TestCase.runBare(TestCase.java:132)
at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:248)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:243)
at junit.framework.TestSuite.run(TestSuite.java:238)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Charsets
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
… 23 more

Can you spot me out? Where am I wrong actually?

Reply

Mary March 24, 2013 at 9:57 am

Thanks for your effort.

Reply

Anu May 2, 2013 at 12:24 pm

Thanks Seetaram such a nice blog about the selenium !! please provide useful materials about the selenium for becoming expert on it.

Reply

ram August 5, 2013 at 7:49 am

hai , i want to how to use selenium teting tool in my project

Reply

ram August 5, 2013 at 7:51 am

i installed selenium tool rightnow iam working eclipse how to use this tool i dont have any idea for that automation tool plz help

Reply

seetaram August 20, 2013 at 9:25 am

Go through the posts in the blog… everything is self explantory

Reply

Sebastian August 17, 2013 at 7:23 pm

I am getting this error on Ubuntu 13.04

When running with jUnit

java.lang.NoClassDefFoundError: com/google/common/base/Charsets
at com.thoughtworks.selenium.HttpCommandProcessor.getOutputStreamWriter(HttpCommandProcessor.java:149)
at com.thoughtworks.selenium.HttpCommandProcessor.getCommandResponseAsString(HttpCommandProcessor.java:176)
at com.thoughtworks.selenium.HttpCommandProcessor.executeCommandOnServlet(HttpCommandProcessor.java:118)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:101)
at com.thoughtworks.selenium.HttpCommandProcessor.getString(HttpCommandProcessor.java:275)
at com.thoughtworks.selenium.HttpCommandProcessor.start(HttpCommandProcessor.java:237)
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:100)
at com.selftechy.parameterization.AdvancedSearch.setUp(AdvancedSearch.java:12)
at junit.framework.TestCase.runBare(TestCase.java:139)
at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:248)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:255)
at junit.framework.TestSuite.run(TestSuite.java:250)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Charsets
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 23 more

Reply

seetaram August 26, 2013 at 6:04 am

java.lang.NoClassDefFoundErro – this exception shows that some dependent jar is missing

Reply

Vijay August 31, 2013 at 12:34 pm

Hi Seetaram, I tried executing the above program, it opens the google page in Firefox but errorred out saying “com.thoughtworks.selenium.SeleniumException:ERROR Element link =Advance search not foud.

I commented that line executed it again.

Now i get the below error

“com.thoughtworks.selenium.SeleniumException:ERROR:Element as_q not foud.
Could you please help me out to resolve this?

Reply

seetaram September 2, 2013 at 12:34 pm

Can you take some other web application and test? or can you record something by yourself and then try executing it by the Selenium IDE itself?

Reply

Ratikant September 17, 2013 at 6:20 pm

Hi Seetaram,

This post is really helpful… you are doing a great job
i have added this package in previous project and inside the package created new class Advanced Search and tried to run with Junit 4
it opens up the firefox with google.com and closes in few seconds with error
com.thoughtworks.selenium.SeleniumException: ERROR: Element num not found
at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:112)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:106)
at com.thoughtworks.selenium.DefaultSelenium.select(DefaultSelenium.java:345)
at com.selftechy.parameterization.AdvancedSearch.testAdvancedSearch(AdvancedSearch.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Can you please help in resolving this?

Thanks in Advance
Ratikant

Reply

seetaram September 18, 2013 at 10:28 am

Selenium is not able to find the Element… can you post the code…

Reply

Ratikant September 18, 2013 at 8:09 pm

Hi,

Please find the code:

package com.selftechy.parameterization;

import com.thoughtworks.selenium.*;
import org.junit.*;

public class AdvancedSearch extends SeleneseTestBase {
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium(“localhost”, 4444, “*chrome”, “http://www.google.co.in/”);
selenium.start();
}

@Test
public void testAdvancedSearch() throws Exception {
selenium.open(“http://www.google.co.in/”);
selenium.click(“link=Advanced search”);
selenium.waitForPageToLoad(“30000”);
selenium.type(“as_q”, “selftechy, selenium, eclipse”);
selenium.select(“num”, “label=20 results”);
selenium.click(“//input[@value=’Advanced Search’]”);
selenium.waitForPageToLoad(“30000”);
}

@After
public void tearDown() throws Exception {
selenium.stop();
}
}

Reply

seetaram September 20, 2013 at 4:11 am

Instead of waitForPageToLoad, can you use Thread.sleep(2000) and see

Reply

Devaraj May 5, 2014 at 10:15 am

Hi,

I have added the necessary jar files, but program is not executing rather it throws an exception in the output console saying
“Exception in thread “main” java.lang.Error: Unresolved compilation problems: webDriver cannot be resolved to a type
fireFoxDriver cannot be resolved to a type at fundamentals.MyFirstWeb.main(MyFirstWeb.java:9)”

The program is as shown below

package fundamentals;

import org.openqa.selenium.Webdriver;
import org.openqa.selenium.firefox.fireFoxDriver;

public class MyFirstWeb {

public static void main(String[] args) {
webDriver driver= new fireFoxDriver();
string url=”http://www.gmail.com”;
driver.get(url);
driver.close();
}

}

Looking forward to hear from you soon.

Thank you in advance……..

Ntombie May 13, 2014 at 7:25 am

Hello,

I’m also new on Selenium trying it out. And I used your example and I get the same error as Ratikant. Did you guys get a solution to it?

Ntombie May 13, 2014 at 8:01 am

I solved it by commenting or rather removing “//selenium.select(“num”, “label=20 results”);”

Karlien April 23, 2014 at 9:11 am

Hello, thanks a lot for this. I do have one question it is very confusing he he, I have a selenium RC test that runs in eclipse but I want to run it on Sauce labs through eclipse (Sauce labs is a cross browser testing program) I have Sauce labs set up in my eclipse eg. “driver.get(Site)”
(opens Site in Sauce labs browser). I want something like:

driver.start()
selenium.open(Site);
selenium.type(“id”, Name);
selenium.click(Submit);
driver.stop();

or

driver.selenium.open(Site)
driver.selenium.type(“id”, Name);
driver.selenium.click(Submit);

Is there any way to combine driver and selenium? I know that this is not possible but anything similar would be great. Sorry its so confusing but I am not very clever when it comes to programming 🙁
Thanks a bunch!

Reply

Devaraj May 5, 2014 at 10:22 am

The error is shown at the lines
webDriver driver= new fireFoxDriver(); and for the above two import statements.

Reply

Ntombie May 13, 2014 at 7:27 am

And yes I did try the “Thread.sleep(2000);” and got the same error.

Reply

Kalaivanee December 31, 2014 at 4:05 pm

Hi ,

Can some one help me to know why my selenese tests are not executed in the order i declare?

Thanks,

Reply

Arindam Dalal January 27, 2015 at 10:46 am

Hi seetaram ,

I’m from Manual Testing background and interested to work with Selenium. I have few question that my be basic questions.

1. Do we really need to have a knowledge of Java if we need to learn or work with Selenium.
2. Can we install Selenium on our personal laptop ( same machine can act as client and server ) ?
3. Can we export the test steps written in excel and run it in selenium ?

Desperately waiting for your reply.

Thanks
Arindam

Thanks,

Reply

seetaram January 30, 2015 at 7:04 am

Arindam,

1. Java knowledge is a must to work on Selenium (I mean any of the programming / scripting that Selenium supports)
2. Download Eclipse and configure the Selenium with your automation project
3. Record the test steps written in Excel in Selenium IDE and then export the code in JUnit / TestNG Java format and run in Eclipse
OR
Run directly in Selenium IDE

Warm Regards,
Seetaram

Reply

execution is not running with junit May 16, 2015 at 10:25 am

package pro1;
import org.junit.BeforeClass;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Junitprogramme {
@BeforeClass
public static void openapp ()
{
WebDriver wd = new FirefoxDriver();
wd.get(“http:cleartrip.com”);
}

}
when i was running this programm with the help of junit cleartrip browser is not cmng can u plss tell me how to do and can u plss forward to my mail id with total information because i was begginer for testing

Reply

Leave a Comment

Previous post:

Next post:

Do you want to get updates on the recent articles written? Please subscribe to RSS feed or Email