Selenium Simplified - Automated Browser Testing With Selenium WebDriver Made Simple

Mar 16, 2017 - 2 minute read - Selenium Simplified Blog WebDriver

Changes in Selenium WebDriver 3.1.0, 3.2.0, 3.3.0 and 3.3.1 for Java

I have updated my startUsingSeleniumWebDriver project to handle changes in WebDriver 3.1.0, 3.2.0, 3.3.0 and 3.3.1. MarionetteDriver removed in version 3.1.0 and above In version 3.0.1 of Selenium WebDriver I noticed that the MarionetteDriver was marked as deprecated. The WebDriver team don’t mess about, and in the next version (3.1.0), the MarionetteDriverwas removed. FirefoxDriver defaults to Marionette/GeckoDriver mode, so if you have been using MarionetteDriver you should change the code to use FirefoxDriver instead.

Nov 21, 2016 - 4 minute read - Selenium Simplified Blog WebDriver

Question: Can selenium be used for real world testing? & Does it take longer than manual?

TLDR; Question: Can selenium be used for real world testing? And does it take longer to create different scenarios/permutations than just testing the system manually? A: Yes, Probably

I received the following Question via email from a reader, and since the answer expanded, I moved it to the blog.

Question: Can selenium be used in testing real world scenarios? And would spending time programming selenium to create different scenarios/permutations take longer than using the system manually creating scenarios through exploration?

Short Answers - Yes it can be used for Real World Scenarios. And probably takes longer than interacting manually.

Longer Answers…

Oct 20, 2016 - 5 minute read - Selenium Simplified Blog WebDriver

Q: Should you use Selenium 3? A: Probably. I have.

TLDR; moving between Selenium 2.53.1 and 3.0.1 takes very little effort. You should probably try it. Wow, so Selenium 3.0.0 and then Selenium 3.0.1 in just a few days. Should you use it? I have a fairly small set of tests that I use on my Selenium WebDriver Online Course and I’ve run these against pretty much every version of Selenium WebDriver and browser version released. I spent time last week and this week running them against:

Oct 20, 2016 - 4 minute read - Selenium Simplified Blog WebDriver

Sometimes a headless browser might meet your needs

TLDR; Don’t rule out headless browsers like HTMLUnit, just because no-one uses them in the real world. They might make automating your task easier and faster. Have you ever been told that HTMLUnit and PhantomJS (and insert any other headless browser in here) “are not real browsers, customers don’t use them, so we shouldn’t use them for testing”. I don’t agree with that statement because I think the statement makes the overly broad assumption that “when we automate the browser to trigger functionality, we want to ‘test that it works in the browser’”

Oct 14, 2016 - 3 minute read - Selenium Simplified Blog WebDriver

Update on Marionette GeckoDriver v0.11.1 - Q: Should you try it? A: Yes you should.

Geckodriver has improved. Over the last few months Geckodriver and WebDriver 3 have been conflated together. Certainly I’ve only investigated Geckodriver updates when I was looking into Selenium WebDriver 3. And with version 0.11.1 released, now it is time to have a fresh look at Geckodriver. Q: Does Firefox Marionette GeckoDriver v0.11.1 support WebDriver 2.53.1? Q: Does Selenium 3 make a difference for Marionette GeckoDriver? Q: Any workarounds for any issues?

Oct 14, 2016 - 3 minute read - Selenium Simplified Blog WebDriver

Upgrading to Selenium 3 with My First Selenium Project

TLDR; set version to 3.0.1, stop using MarionetteDriver, download geckodriver v 0.11.1 Selenium 3 is out and you can read the big announcement. You can also start to use it. I’ll be checking my course against Selenium 3 later today, but for the moment, here are the steps you need to take to upgrade. Upgrading to Selenium 3.0 Using startUsingSeleniumWebDriver as an example. Change the pom.xml <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.

Oct 5, 2016 - 1 minute read - Get Started Selenium Simplified Blog

Updated WebDriver SpeedRun Install Videos

Because I know that some people just want help getting started quickly. I created the Selenium WebDriver SpeedRun Install page. This has: A simple WebDriver project that you can download and run A check list of instructions for installing Java and WebDriver Some tutorial videos showing how to install on Windows and Mac I have just updated this to cover: Firefox, Marionette, GeckoDriver Chrome, ChromeDriver Maven 3.3.9 IntelliJ 2016.

Aug 25, 2016 - 1 minute read - FAQ Selenium Simplified Selenium Simplified Blog

How to Select a Web Element with an id containing '.'

TLDR: \. Lesson learned. I was working with a site and trying to select an element via its id e.g. <p id="select.me.by.id">Select Me By My id</p> Simples thought me: #select.me.by.id Nope. So I did what all good Selenium debuggers do… I tried in the browser but Chrome didn’t match it. Tempted though I was to blame Chrome, I tried with XPath, and that worked fine: //p[@id='select.me.by.id'] After a bit of web searching, the solution was clear.

Aug 17, 2016 - 5 minute read - Selenium Simplified Blog WebDriver

How to Debug WebDriver JavascriptExecutor in Java

TLDR; JavascriptExecutor requires us to learn JavaScript and use the Browser Console, and check your locator assumptions using FirePath A common theme when debugging WebDriver code is the need to jump between breakpoints, evaluate and browser dev tools. And we shall do exactly that in this ‘how to’, when we look at debugging JavascriptExecutor. This is a hypothetical set of actions built around a sample test I was sent by a blog reader.

Aug 16, 2016 - 3 minute read - Selenium Simplified Blog WebDriver

How to debug chained WebDriver `findElement` methods in Java

TLDR; split code across lines and breakpoint, and use browser dev tools to test the locators used. Have you ever had an argument about fluent code? Discussions about “train wrecks” and “impossible to debug”? WebDriver has the ability to chain findElement calls, and create such “train wrecks”. How do you debug it if you use it? (There is a summary video at the bottom of this post.) Example: WebElement element = driver.