Learn How to Setup Selenium with Eclipse and Python

setup selenium with eclipse and python


Learn How to Setup Selenium with Eclipse and Python

Here are the steps needed to Learn How to Setup Selenium with Eclipse and Python

Step 1: Install Python

Go here to install the latest version of Python.

download python

Open the installer.  Click on the checkbox to add Python to path and Install Now.

install python code

Python is installing.

Install was successful.

python install successful

Step 2: Install PyDev in Eclipse IDE:

Once you are logged into Eclipse, select Help and Eclipse Marketplace

install selenium and python

The Eclipse Marketplace screen will appear.  Enter in pydev and click on search icon.

install selenium with eclipse and python

Click on the Install button.

install python with eclipse

The following window will appear.  Make sure both boxes are checked and click on the Confirm button.

confirm python installation

On the next window select the Radio button to accept the terms and click on the Finish button.

accept python terms

You will notice at the bottom of Eclipse, the python software is in the process of being installed.

install python

Once that is complete a message window will appear.  Click on Restart Now button.

restart eclipse IDE now

Once Eclipse IDE has been restarted, click on Window and Preferences

install eclipse and python

The following window will appear.  Click on PyDev.

python development

Click on PyDev > Interpreters > Python Interpreter and the following will appear:

python interpreter

click on the Config first in PATH button.  That will cause the python icon to be displayed under Python Interpreters.

Next, click on Libraries.  You will see a list of the files displayed.  Next, click on Browse for python/pypy exe

python libraries

When finished, click on the Apply and Close button.

Now, we need to create a new project in Python.  Click on File > New > Other

The following window will appear.  Expand PyDev and select on PyDev Project and click on the Next button.

The following window will appear.  Name the project NewPyDevProject and click on Finish

Next, you will need to create a new package.  On the project name right-click and select New > PyDev Package

On the next window, call your new package newPackage and click on the Finish button.

You will see the new package is created in Eclipse.

Once the new package is created, you will need to create a new module.  Right click on your project, click on New > Other


The following window will appear.  Click on PyDev Module and then click the Next button.

Enter in your module name and click on the Next button.

That is it.  Now you are ready to start preparing your tests in Selenium.












Big Changes in Selenium 4

Selenium 4Selenium 4 Alpha Download Available

If you are looking for Selenium 4 Alpha version, you can find it here.  While it is not recommended to use an Alpha version for full implementation, it will let you see what new changes are there and it will help you figure out what changes you will need to make moving forward and understand the benefits,

Selenium 4 Official Release Date

As of now, there hasn’t been an announcement on when Selenium 4 will officially be released.  Once we know that, we will provide the updated date.

Selenium 4 Changes

Here are some of the major changes that will happen in Selenium 4

  1. W3C Selenium WebDriver standardization-The goal is to have Selenium WebDriver completely standardized.  There are other tools and products that use WebDriver so this is a must have.  Specifically mobile testing tools like Appium and iOS Driver heavily rely on it.  With the change coming in Selenium 4, the test will now be able to directly communicate without using API encoding/decoding using the W3C protocol.
  2. Selenium IDE Support for Chrome-There will be much more advanced capabilities with the new update.  There will be a completely new way using a new plug-in to Selenium 4.  There will also be a new CLI Runner that will leverage NodeJS and have the following capabilities:
    • WebDriver playback
    • Parallel execution
  3. Improved Selenium Grid-While Selenium Grid is very powerful in that it allows tests to run in parallel, it is very difficult to initially setup and configure.  In Selenium Grid, the hub acts like a server and it controls which tests are run.  The node are the test machines where the Selenium test scripts are run.  With Selenium 4, there will be improved changes related to the hub.
  4. Improved Selenium Grid UI-Selenium 4 will have an improved user experince with a much richer UI.
  5. Improved Debugging/Logging capability-It is important for the automated engineers to have as much detail as possible when it comes to logging and debugging of issues.  Selenium 4 promises to provide that in order to accelerate resolution of script issues.
  6. Selenium 4 Documentation– The documentation hasn’t been updated since Selenium 2.0.  Documentation is critical and it is important that it is updated so that automated test engineers will not have to wonder how to use Selenium 4.

I hope this information has been helpful.  I will be thrilled to see the new Selenium 4 version when it is officially released.  For now, you can download Selenium 4 Alpha version from the link provided above.  Once the official version is released, you will be able to download it from the SeleniumHQ website.




Learn How to Install Java and Selenium WebDriver

Install Java and Selenium WebDriverSteps to install Selenium WebDriver

Here are the steps needed to install the various components needed for Selenium WebDriver.



Step 1: Install Java

Download and install the Java Software Development Kit (JDK) here

install Java jdk

Select and download the correct JDK version for your operating systeminstall selenium webdriver



Once this installation has been downloaded and installed, open your command prompt and type java -version to confirm the correct Java version has been installed.

confirm java version

Step 2-Install Eclipse

Download the latest version of Eclipse here.

download eclipse ide

Once the file has been downloaded, double click on the file to install Eclipse.  Select Eclipse IDE for Java Developers.

install eclipse IDE

Click on the Install button.

install selenium webdriver

Accept Terms and Conditions

accept terms

The installation will begin.

When the install is complete, click on the Launch button.

launch eclipse

Step 3-Download Selenium Java Client WebDriver

Download the Selenium Java Client WebDriver here.

selenium java client

The download file will come as a .zip file.  You can create a folder on your computer called: C:\Selenium and extract the contents of the download there.  This will contain all the needed files that will be used to configure Selenium.  Once you extract the files it will look like this:

selenium webdriver install

Step 4-Configure Eclipse with Selenium WebDriver

Go to the location where you extracted the zip file.  It will contain an executable called eclipse.exe.  You might also see a shortcut on your desktop that looks like:

eclipse shortcut

Double click on the Eclipse shortcut and it will launch Eclipse. You can use the location listed, and click on Launch.

launch eclipse

Once the screen is launched, click on Create a New Java Project

create java project

The following window will appear.  For the project name you can call it myfirstproject.  You can use the other defaults listed and click the Finish button.

learn selenium

The following window will appear.  Click on the Create button.

The following screen appears:

how to install selenium

Right click on myfirstproject and select New and then Package.

setup selenium

The following window will appear.  Name the new package mypackage and click on the Finish button.

selenium automation

Right click on myfirstpackage and select New then Class

selenium automation jar

The following window will appear.  Under name enter myfirstjavaclass and click the Finish button.

install selenium webdriver

For the next step, right click on myfirstproject and select Properties

selenium java webdriver

On the properties window, select Java Build Path then Libraries tab then Add External JARS…

java selenium learn here

The JAR Selection window will appear.  Go to the location where you installed the Selenium files on your computer.  Mine is installed at: C:\Selenium.

how to configure selenium webdriver

Double click on the libs folder

selenium configuration settings

Select all the files and click the open button.

selenium files

You will see all the files you selected displayed.  Click on Add External JARS.. button again

how to configure selenium webdriver

The JAR Selection window will appear.  Select all files there and click on Open.

setup selenium webdriver

On the Properties window, click on the Apply and Close button.

selenium web automation

You will now see the Referenced Libraries displayed.

selenium webdriver files


The Selenium WebDriver configuration is finished.  I hope this information has been helpful.  Don’t forget when you create a new project, you will need to import these files again.  In order to run your scripts you will need to determine which browsers you plan on using.

You can click here to learn how to setup the different browsers.

Selenium: Learn More

What is Selenium

What is Selenium?

If you are in the software testing profession, one of the most often asked questions is What is Selenium?  Simply put Selenium is an open sourced software testing code.  It is becoming more and more popular everyday, and it is fairly easy to learn.  It was created by Jason Huggins in 2004.  He had a need to perform testing on a web application, so he decided to create a JavaScript based tool that could simulate manual testing activities.  The original name was JavaScriptTestRunner.  I am going to walk you through the process learning more about the code and the pros and cons of leveraging this capability.


  • Open sourced software testing code allows anyone to use this tool with no software licensing costs
  • Is used to test web based applications
  • It has a very strong community because many software testers use it
  • It can be used with popular software programming languages such as Java and Python
  • Runs on many different browsers across different operating systems
  • Can easily be integrated and leveraged with other tools


  • Only used for web based applications, so it will not support automation of mainframe or AS400 applications
  • Is supported by the community, so there is no central company that owns the code or provides updates


  • Selenium WebDriver: is a collection of language bindings to drive actions within the web browser.  If you need to create a series of web based test automation scripts you will need to use Web Driver. If you want to learn how to install Java and Selenium WebDriver click here.
  • Selenium IDE: is an integrated development environment.  It is the simplest component of Selenium that allows you to perform record and playback of test scripts. The Selenium IDE is a Firefox add-in that is easy to install and setup.  This helps to uncover defects quickly when you want to use repetitive processes to ensure that nothing breaks when software is changed.  This tool should only be used to quickly record and prototype things to make sure it is going to work.  It will be helpful to know some simple concepts of HTML, JavaScript and DOM(Document Object Model) in order to have a solid foundation on how the tool works. If you need more complex scripting, then you will need to use Selenium Web Driver.
  • Selenium Grid: Is a tool that enables parallel test execution across multiple machines and browsers at the same time.  This saves a lot of time and helps you get through large regression suites.

Click here for additional information on Selenium.

There are also some Big Changes in Selenium 4.

For the official website you can visit Selenium HQ.


Agile Pitfall #2: Too Much Technical Debt

agile technical debtLet’s face it, Agile has some tremendous benefits.  If you are practicing agile at your company, you know that firsthand.  Agile also has some pitfalls that can be extremely deadly if they are not addressed properly.  Most of us have learned how to avoid them by implementing costly mistakes.




Agile Pitfall #1: Lack of Integrated Software Testing

Agile Pitfall #2: Too Much Technical Debt

Agile Pitfall #3: Agile Team Silos

Agile Pitfall #4: Too Focused on Agile Team Roles

Agile Pitfall #5: Folks, It Isn’t All About Velocity!

Sure there are other things that agile has issues with, but we will cover those in subsequent agile posts.

Using the agile methodology, software can be developed very quickly, in fact, business needs demand it is produced as quick as possible.  While there is nothing inherently wrong with that, it is important to develop it efficiently.  Agile teams want to build the best designed and highest quality product possible.  However, that isn’t always what happens.  My team has recently been involved in leveraging a COTS product called Globalscape to consolidate all our B2B file transfer systems into a single solution.  In fact, our company was acquired, so between both legacy companies we had four solutions which were being used.  We selected Globalscape, but the product was brand new to our team.  We didn’t have extensive experience but were driven to move off the other systems.  We made the best decisions that we knew at the time, but looking back, there were some things that if we had better information and experience with the product, we would have certainly done differently.  Naturally, we accumulated technical debt, and we created stories in our backlog to handle those.  In certain sprints, we had to put more technical stories in place to implement the necessary changes.  While our business partners weren’t thrilled, they understood those needed to be done.

In some situations, you can address technical debt issues as you are addressing stories in the backlog.  For example, with our file transfer product, we created a generic function to address how email notifications were delivered, which was much more efficient.  While we were moving other B2B files into the new platform, we would go ahead and make those changes, so that we would not have to revert and make those technical debt changes later.

It is also a good idea to keep 5 to 10 percent of your sprint capacity available to handle technical debt issues.  If you have one story per sprint handling technical debt, then it will make it a lot easier in not having to deal with too much technical debt later.

Hopefully this real world example will help you avoid Agile Pitfall #2: Too Much Technical Debt!

Role of an Agile QA Engineer

Agile QA EngineerAgile Software Testing has literally transformed the role of an Agile QA Engineer.  There are several key differences which software testing organizations will need to adjust in order to effectively operate with Agile.

Documentation:  It isn’t practical within Agile for the Agile QA Engineer to have lots of documentation.  Don’t get me wrong, there does need to be sufficient documentation for the QA Engineers to do their job well. If a developer tries to convince you that the Agile Manifesto doesn’t require documentation, Houston we have a problem!

  • In terms of requirements, there needs to be enough documentation that the Agile QA Engineer knows how the system is supposed to operate.  In my team, we currently use a 1 page document that will provide that information for each story.  It really does help the agile testers know what is expected so they can adequately plan.
  • For the Software Test Plan, it isn’t necessary to go through all the hoopla of creating a massive plan that nobody will read or follow.  A one page document will be sufficient.  I encourage the creation of the one page plan because it forces the agile tester to think about what testing is needed.
  • For the testing sign off a simple email will suffice.

Test Automation: One of the hottest topics naturally is test automation, especially within Agile software testing.  Test automation without a doubt is critical.  However, there needs to be a strategy that is going to work.  In previous organizations, I have built world class automation teams.  We had thousands of automated test cases within our regression suites.  Were all those tests necessary, probably not.  Was it expensive to maintain, absolutely!  I believe having a centralized automation team that can build and execute the automation tests is most effective.  The team prioritizes the work based upon the needs of the various agile teams.  I have found this to work most effectively.  I usually recommend that the agile testers execute the tests within the current sprint and once those have passed, they can hand that off to the agile team to automate and put in the regression suite.  Having an Agile QA Engineer do both the functional and automated tests within a given sprint is extremely challenging and often the functional testing gets done and the automation gets put on the back burner.

Performance Testing: Another challenge is system performance.  If automation takes a back seat, then performance testing is usually behind that.  In order to deal with that challenge, having a centralized performance team will help.  Usually 2-3 performance engineers will be sufficient.  I encourage a very close look at performance testing within the Agile context.  If you don’t need it, don’t do it, if you need it, you better do it.

UI versus Web Service:  Agile software testing requires some fundamental changes in terms of how things get tested.  More and more agile software testing is taking a closer look at web service testing.  It is a critical component that can find a lot of defects.  The need for agile teams to focus on spending more time in this area is due to the amount of applications that are using API’s to transfer information.  It is a lot quicker to run hundreds of transactions through an API versus through the UI.  Agile software testing teams who are able to make this transition are simply more effective.

Let’s face it, transforming your software testing organization is going to be very challenging.  Agile software testing is extremely challenging.  The key is to have a strong team who is flexible and is adaptable to constant change.  The teams that can do that most effectively will be successful.