http://docs.seleniumhq.org/ - open source for UI Automation testing
Please visit me and read this article at AlignedDev.I had the honor and pleasure of giving my first presentation at an event at South Dakota Code Camp last weekend on November 7th. Thanks to the organizers and sponsors, I’m looking forward to next year already. I talked about the importance of Continuous Delivery in today’s development practices and how it helps us get quality code to our users quicker and more reliably using automated processes. Microsoft’s build system has improved immensely in ......
2019-10-11 - I copied this to AlignedDev.Net. Please visit me there! I’ve been on a team now for a year+ and we’ve been using Selenium to automate acceptance tests before we consider a feature as completed. We’ve caught many regression issues that our Jasmine unit tests haven’t (which sometimes is a gap in our Jasmine tests, and sometimes is just a Knockout binding issue) and have avoided QA picking up buggy software for manually testing. I was reading Specifications by Example Chapter 9 “Automating ......
Recently my automated tests started hanging in Firefox. The browser becomes unresponsive. I found an existing issue that states the same problem. My solution for now is to revert to Firefox 22 (download here) (at the time of this writing v25 is out, so I’ll be out of date). I just have to remember not to click the help –> about. UPDATE: 12/5/2013 I found that it was hanging on new Actions(Browser.driver).Cli... I changed it to new Actions(Browser.driver).Mov... ......
Selenium uses WebDriver (or is it the same? I’m still learning how it is connected) to run Automated UI tests in many different browsers. For example, you can run the same test in Chrome and Firefox and in a smaller sized Chrome browser. The permutations can grow quickly. One way to get them to run in MStest is to create a test method for each test (ie ChromeDeleteItem_Small, ChromeDeleteItem_Large, FFDeleteItem_Small, FFDeleteItem_Large) that each call the same base method, passing in the browser ......
“There are consistencies in what we see as inconsistent”. I said this out loud today. We have an automated UI test build where all passed 2 times in a row, now without any code changes 2 have failed, with 1 failing test (a different test each time). We’ve seen this with our VM environment and Selenium tests where an element couldn’t be found or a button doesn’t click (we run the same test on small and large and the small one may fail where the large one passes => it isn’t the code 98% of the time ......
I run automated UI test with Selenium (unit testing will do this as well, though not as many files) from the Visual Studio Test Explorer a lot. This creates a new folder inside of my solution location named TestResults for every test run. Depending on what I need to deploy for the test (Selenium chrome driver, images, dlls, etc) the size of that it takes up on my hard drive gets very large after a few weeks. I’ve deleted gigs before. In the spirit of “if you do something more than once, automate ......
Our project uses KnockoutJS to data-bind data to our html elements (the same would be true for AngularJS binding). We’ve recently moved from testing against localhost to running our Selenium tests against an Azure hosted version of the same site. We’ve been noticing tests fail because of timing issues and the increased latency that weren’t there with the localhost tests. Discovered Approaches Use the driver.GetAndWaitForElement(By selector) method. This will help you make sure the DOM element is ......
I created a quick C# extension method for Selenium to find an element by its data-bind attribute. I wanted to find an element by the binding instead of having to add a class or id to the element. If you have a Knockout Model function MyViewModel() { “use strict”; this.name = ko.observable(); } In the html the element may look like this <input id="nameInput" data-bind="text: name" /> <div id="infoContainer"> <span data-bind=”text: name” /> </div> With the extension method I ......
I added a lengthy answer to the StackOverflow question on switching focus to an iFrame when using Selenium to automate a UI for testing and thought it deserved a blog post. First you need to select the iFrame and switch the driver context to it. The iFrame I’m working against doesn’t have an id, and there will only be one on this particular page. This is an example of using it straight out of the box. I have access to the driver through a static property. I set this when I first told Selenium what ......
I recently joined a team that was using Agile Methodologies to create a new product. They have a working beta product after 10 or so 2 week sprints and already had UI’s that had changed several times as they went through iterations of their UI. As a result, the QA team was falling behind with automated tests and I was tasked to help them catch up and expand their tests. The project is a website. I heard many complaints about how hard it is to work with CodedUI (writing our own code, not relying on ......
Full Selenium Archive