Selenium 3 Is Coming!

September 12th, 2016 by Simon Stewart

Selenium 3 is coming! I’m here to tell you about what’s changed, and what impact this will have on your testing.

TL;DR:

  • WebDriver users will just find bug fixes and a drop-in replacement for 2.x.
  • Selenium Grid users will also find bug fixes and a simple update.
  • The WebDriver APIs are now the only APIs actively supported by the Selenium project.
  • The Selenium RC APIs have been moved to a “legacy” package.
  • The original code powering Selenium RC has been replaced with something backed by WebDriver, which is also contained in the “legacy” package.
  • By a quirk of timing, Mozilla have made changes to Firefox that mean that from Firefox 48 you must use their geckodriver to use that browser, regardless of whether you’re using Selenium 2 or 3.

In more depth:

When we released Selenium 2.0 in 2011, we introduced the new WebDriver APIs, and encouraged everyone to start moving to them. If you’re using the WebDriver APIs, then Selenium 3.0 is a simple drop-in upgrade. We’ve not changed any of the WebDriver APIs, and the code is essentially the same as the last 2.x release. If you’re using Selenium Grid, the same applies: in most cases, you can just drop in the new JAR (or update your maven dependency to 3.0.0), and you’re done.

At the same time as the Selenium project is shipping Selenium 3.0, Mozilla is changing the internals of Firefox in a way that makes it more stable and secure, but which also makes the community-provided Firefox Driver no longer work. As such, if you use Firefox for your testing, you’ll need to use the geckodriver, which is an executable similar to the chromedriver and MS’s edgedriver. You’ll need to start using geckodriver even if you’re using Selenium 2 — the change is in the browser, not Selenium. (more…)

Options for Validating HTTP Codes in Selenium

August 18th, 2016 by Alex Entrekin

There is no way to directly get HTTP status codes in the WebDriver API (see the lengthy discussion in issue #141). But that doesn’t mean you have to leave Selenium or go without any status codes in your test scripts.

In fact, some of the supported methods – proxies and tightly coupled headless browsers – should make you feel at home if you’ve transitioned from Selenium RC, or are comfortable with traffic sniffing proxies.

Headless Scriptable WebKits that Play Nicely with Selenium

If you don’t want to invest the time configuring a proxy, consider setting up WebDriver to handle headless testers like HTMLUnitDriver, Jasmine or PhantomJS.HTMLUnitDriver is well-supported in Selenium, but its Javascript engine (Rhino) is not used by most browsers. However, if you know you won’t be testing any pages with Javascript, then it’s no concern.

But if you are, use GhostDriver to enable PhantomJS as WebDriver’s backend. (more…)

A Brief History of the Selenium Testing Framework

August 11th, 2016 by Chris Tozzi

Ever wonder where Selenium (the testing framework, not the mineral you get from eating clams) came from? Here’s a short history of the technology, from its origins more than a decade ago as a proprietary tool through the present era of Webdriver.

ThoughtWorks and The Origins of Selenium

Selenium originated in elder days – by which I mean 2004 – as a tool for testing web applications. It was developed by Jason Huggins, a programmer at ThoughtWorks.

That Selenium originated at ThoughtWorks is interesting. While no one in 2004 was talking about Agile infrastructure, ThoughtWorks was the place where Martin Fowler made his career. Fowler went on to become one of the major thought leaders behind the migration to microservices. While Fowler can’t take credit for Selenium, it seems fitting that the tool, which is an important part of automated testing for DevOps-inspired workflows today, originated in the same place from which the Agile infrastructure revolution later emerged.

Open Source Selenium

At first, Selenium was used only internally by ThoughtWorks employees. But that changed by the end of 2004, when the tool was open-sourced.

(more…)

Recap: Selenium and Appium Training Courses from Sauce Labs (Webinar)

August 5th, 2016 by Bill McGee

Thanks to everyone who joined us for our recent webinar, “Selenium and Appium Training Courses from Sauce Labs“, featuring Sauce Labs’ Director of Product Marketing, Ken Drachnik, and Automation Specialist Kevin Berg.

In this webinar, Ken and Kevin announced the availability of our three new technical training programs – Selenium 101, Appium 101, and Sauce Labs Onboarding. They reviewed the course curriculum and class format, and gave a brief demo of the course environment. They also covered classes that are currently in development – Selenium 201, Appium 201 and Sauce Labs for Enterprise.

Interested in learning more about our new training courses? You can find more information on our training website.

Access the recording HERE and view the slides below: 

New – Selenium & Appium Training Courses from Sauce Labs!

August 3rd, 2016 by Ken Drachnik

In our ongoing effort to help developers and QA professionals quickly get up to speed with Selenium and Appium, we’re thrilled to announce the availability of our three new technical training programs – Selenium 101, Appium 101, and Sauce Labs Onboarding. Led by our experts, with in-depth knowledge of Selenium and Appium, class sizes are small and include lectures, demos, and interactive hands-on exercises.

Selenium 101 & Appium 101

Both the Selenium and Appium courses are available in several different formats. Instructor-led training is available both online and on-site, and features public curriculum available to all, or you can request a dedicated course that is customized to your specific business requirements.

  • Selenium 101 introduces you to the Selenium automation API for testing web applications on desktop browsers
  • Appium 101 introduces you to the Appium automation API for testing web applications on desktop and mobile browsers, and for testing native and hybrid applications on mobile emulators, simulators, and real devices.

Sauce Labs Onboarding

Sauce Labs Onboarding is a free, one-hour self-paced class designed to introduce you to Sauce Labs features to get you up and running with your tests.

In addition to providing you the nuts and bolts of automated testing, our courses also cover best practices and useful how-to tips, so you can start testing right away, and then develop better tests in a lot less time.

First classes begin August 17th – sign-up here or request more information.

Happy learning!

Recap: Dave Haeffner’s Practical Tips and Tricks for Selenium Test Automation (Webinar)

May 26th, 2016 by Bill McGee

Thanks to everyone who signed up for our recent webinar, “Practical Tips and Tricks for Selenium Test Automation”, featuring Selenium project contributor Dave Haeffner.

In this presentation, Dave reviews the best and most useful tips & tricks from his weekly Selenium tip newsletter, Elemental Selenium. If you have unanswered Selenium questions, or want to learn how to use Selenium like a pro, check out the recording and slide deck as Dave covers topics such as:

  • Headless test execution
  • Testing HTTP status codes
  • Blacklisting third-party content
  • Load testing
  • Broken image checking
  • Testing “forgot password”
  • Working with A/B testing
  • File downloads
  • Additional debugging output
  • Visual testing & cross-browser testing

And more!

Want to learn more about Selenium? Download Dave’s Selenium Bootcamp for a comprehensive getting started guide. 

Access the recording HERE and view the slides below: 

Recap: How To Use Selenium Successfully (Java Edition) [Webinar]

February 26th, 2016 by Bill McGee

Thanks to everyone who joined us for our recent webinar, “How To Use Selenium Successfully (Java Edition)”, featuring Selenium ninja (and all-around good guy) Dave Haeffner. In his talk. Dave steps through the why, how, and what of Selenium (the open-source automated web-testing tool for functional testing).

Dave also showed how to start from nothing and build out well-factored, maintainable, resilient, fast and scalable test sets in Java. Then, how to test your app across all of the browsers you care about, while exercising relevant functionality that matters to your business.

Additional talk takeaways:

  • What Selenium is, where it came from, and where it’s heading
  • How to decompose an existing web application to identify what to test
  • Picking the best scripting language for you and your team
  • Writing maintainable and reusable Selenium tests that will be cross-browser compatible and performant
  • Building an integrated feedback loop to automate test runs and find issues fast
  • How to set up your own infrastructure or connect to a cloud provider
  • How to dramatically improve test times with parallelization

Looking to learn more from Dave about Selenium? Download our free Selenium Bootcamp. Missed the presentation, want to hear it again, or share with a colleague?

Access the recording HERE and view the slides below.

Selenium Design Patterns

February 11th, 2016 by Greg Sypolt

In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.1)Software design pattern – Wikipedia, the free encyclopedia” 2011. 18 Jan. 2016

Why are design patterns so important for Selenium development? It can speed up development and reduce the maintenance impact. Using design patterns in test automation development is not necessary, but a seasoned automation engineer understands the importance. If you are new to test automation, I highly recommend learning the best way to write automated tests, and this article is a great start. (more…)

References   [ + ]

Top 10 Resources for Test Automation Newbies

October 15th, 2015 by Greg Sypolt

Over the years friends and former colleagues have asked me for test automation training advice. A common comment I hear is that they find it difficult to lock in a goal to learn only one technology and continue building off it. Then, along their journey, they easily become sidetracked. If you are experiencing the same struggles, I’ve included some needed resources for test automation newbies.

Getting Started

For many people, this phase is the hardest — just finding out how to get started, finding help when roadblocks occur, and staying on track. There are a few steps you need to take to prepare:

  • OS Requirements an OSX, Linux, or Ubuntu operating system will be easier to set up compared to a PC (not impossible).
  • Basic Fundamentals of Unix – learn how to install and manage command-line tools.
  • Ruby Version Manager (RVM) is a command-line tool which allows you to easily install, manage, and work with multiple Ruby environments, from interpreters to sets of gems.
  • Browser Add-ons (Firefox) These add-ons will help find and verify CSS, HTML Elements, and XPATH locators needed for your tests.
  • Github Learn the basics in 15 minutes.

Programming Software

Here, it’s almost always a matter of personal preference; use whatever makes you feel the most productive. Some suggestions: (more…)

Recap: Selenium 2015 Conference

October 4th, 2015 by Greg Sypolt

Portland, Oregon is surrounded by green forests. It’s a bike-friendly city, with an abundance of craft beer, and despite the rain it’s where everyone wants to be. The Selenium Conference Committee wisely picked beautiful Portland for this year’s conference.

Image Source: Test the Web Forward

Image source: Test the Web Forward

Going to conferences always energizes me. It rejuvenates my focus and determination. Why? I discover new concepts from some of the best in the industry, while networking with conference attendees.

One of the best ways to build automation knowledge is to attend the Selenium conference. The attendees this year were extremely technical, and everyone was willing to have conversations about their Selenium journeys.

Pre-Conference Workshops

The pre-workshop Selenium lineup this year was rock solid. The all-day session ranged from beginner to seasoned, and some of the topics covered included: (more…)