| bio | website | |
|---|---|---|
| location | Portland, OR | |
| age | ||
| visits | member for | 1 year, 9 months |
| seen | yesterday | |
| stats | profile views | 34 |
I have been at Webtrends for over a year where I am overseeing the automation efforts. Prior to Webtrends I was at Microsoft for 13 years. Early challenges have included updating a full-featured, yet complex and poorly maintained in-house automation framework, building a common automation logging and reporting platform, creating a tool for simple Deployment Validations, creating automated Performance tests for multiple products, building an object oriented wrapper/abstraction layer for web UI automation on top of selenium and a couple of minor quick-fix tools to increase the speed of manual testing. I have also been involved in a hiring effort to bring our team of one (me) up to a team of 5.
During my time at Microsoft my responsibilities evolved from test planning and manual testing on various projects to --> writing automation and overseeing manual testing efforts from vendors to --> Developing automation tools and processes for the Windows Live organization including a web UI automation framework and a test result reporting platform as well as other smaller tools.
|
Feb 23 |
comment |
Not able to identify tab in Selenium It is generally not a best practice to identify elements based on the text visible to a user instead of the markup. The main reason would be the ability to run in localized builds, but it is also more likely to change. Even a change to add non breaking spaces for formatting could break this. |
|
Feb 21 |
comment |
How to test data migration procedure? I mean that in very large data migrations the migration is often taking place while the system is still up and running and collecting new data. Often there will be an initial run of the migration process happening in the background, then you will flip the switch to the new data store and run a second process to migrate any additional data inserted into the old data store during the initial migration process. If you are simply taking down your service while the migration happens then this is not applicable. |
|
Feb 16 |
comment |
Cannot locate button with changing ID in Selenium I would avoid using text()="Login" if at all possible, this allows you to run your automation in localized builds as well. It is generally a best practice to use identifiers in the markup rather than identify them by text visible to the user. |
|
Feb 16 |
comment |
How do I convince someone who's bought the Record-Playback line that object oriented framework is essential? It's really unfortunate. One of my dreams has been to create a robust record and playback that was smart enough to store what it records in an intelligently thought out pattern where it doesn't duplicate data and re-uses existing infrastructure as well as outputing the code in an abstracted manner that is maintainable. I'm sure it would never be 100%, but it could be a lot better than the crappy script that most record/playback features generate and might actually be useful. |
|
Feb 15 |
comment |
What is Selenium's default timeout for page loading? Thanks for the answer, I did not know that! |
|
Feb 7 |
comment |
What is really tested in an integration test? I agree with most of the above. I have always looked at integration tests as tests that validate interaction between classes, or between a class and an external component. True unit tests can always be run without needing stubs or mock objects. Integration tests may (not always) require mock objects to get thorough coverage of the possible interactions. |
|
Feb 3 |
comment |
Is it good practice to combine my Test and Prod BDD tests in one Framework? I have always wished I could run the same automation in production, but always had reasons I could not - most of the products I have worked on I could not modify anything in production and most of my tests ended up modifying something. In those cases, I have still had a subset of my automated tests that I could run in production, and tagged them in a way to where it is easy to run only the production tests. |
|
Jan 27 |
comment |
Selenium automating ICEFaces Application - locator for dynamically generated ids If you are still unable to figure it out from the article that user1316 suggests, post more of the html so we can see how the ancestors change as well and I could probably help you figure out some xpath to use. Alternatively, is the title unique? Does it change? You may be able to use it. |
|
Jan 18 |
comment |
Locating element by link text (anchor tag innerHTML) or xpath fails in Selenium 2.0 Webdriver Personally, I don't even like Selenium's wait functions, they seem too fragile and I have to be explicit in what I want to wait for. In my selenium wrapper classes I implemented polling/retry logic on every action, so I can navigate to a new page and immediately call a click method on an element I know won't appear for another 10 seconds and it will try and retry up to a specified amount of time and eventually either work or time out. This has avoided so many headaches for me. |
|
Jan 13 |
comment |
How to fix 'Access is denied' errors when trying to .quit() Chrome in Selenium WebDriver tests? Sorry, just noticed this. Yes, the selenium user forum is hosted on google groups: groups.google.com/group/selenium-users |
|
Jan 12 |
comment |
Selenium Select option from suggest box Oh, another possibly simpler solution would be to use the recorder to record the scenario and use whatever method of identifying the element the code from the recorded scenario uses. |
|
Dec 30 |
comment |
How to check that some string contains a substring in the unit test code? There are a lot of ways to implement this, from directly calling the page using HttpWebRequest to using an automation framework like Selenium to mimic user interaction on the site itself. Your question is very open ended and generic and doesn't really give a lot of details about what you are trying to accomplish. More details would be great. What is the point of this exercise? |
|
Dec 29 |
comment |
How to get XPath of a list element generated by AJAX? No... The answer is to run your automation up to the point where those 4 json items pop up and then run the javascript I provided so that you can see the html and from that, determine how to identify the element. An alternate approach would be to talk to a developer of the page who should also be able to tell you what the html will be. I just tested the code that I provided and found one error. You should return the value, so the javascript should be "return document.getElementsByTagName('html')[0].innerHTML". I don't get an exception executing that javascript. |
|
Dec 29 |
comment |
How to get XPath of a list element generated by AJAX? The source of the page is different than the DOM which is constantly updated and contains only the html (and not script). I'm still unsure what HTML is generated by the script on your page, and that's what you need to see in order to find a way to identify it for selenium... I'm not sure what that error is about, you might look it up to figure out how to get past it. |
|
Dec 29 |
comment |
How to get XPath of a list element generated by AJAX? Sorry, I just re-read your answer and understand now... You could speak to your developer and see what the html looks like. You could probably also run your automation up to the point where the 4 items appear and then print out the dom using selenium like this: String html = (String)((JavascriptExecutor)driver).executeScript("document.getElementsByTagName('html')[0].innerHTML"); |
|
Dec 29 |
comment |
Using Selenium Webdriver with Windows Authentication There is an answer here that may help: stackoverflow.com/questions/5672407/… |
|
Dec 5 |
comment |
What is the best software to automate complex tasks involving multiple applications/steps? I agree with Phil, what is the intent of this test? From the information you do provide it sounds like you might be better off programatically generating the excel file than trying to automate it through the UI. |
|
Dec 2 |
comment |
Is there some published JavaScript with a list of 'interesting' test strings? Hey Bruce! I don't know of any either, and couldn't find any with a quick search. I wonder if there is just a list of interesting test strings agnostic of platform or language? Or maybe a fuzzing tool that generates all of the interesting strings plus some randomly generated ones using certain criteria? |
|
Dec 2 |
comment |
WebDriver function failing intermittently in Internet Explorer near clear() method Ok... but there are only certain ways it can be flaky and I'm trying to help you narrow down what specific thing you are running into. You only see the "Element must not be hidden disabled or read only" if the attributes of the element suggest that it is hidden, disabled or read only. If you are actually checking those values prior to interacting with the element and waiting until they are what you expect then I don't see how you could get that message. Have you tried putting a try/catch and handling that error, waiting for a few seconds and trying again to know for sure if it is timing? |
|
Nov 30 |
comment |
WebDriver function failing intermittently in Internet Explorer near clear() method What are you checking? Both the element's Enabled and Displayed properties? Do you know what your page is doing? Is it actually changing the values based on some javascript that is executing on page load? |

