Friday, May 26, 2017

Working as a free SDET, Beta testing

Image result for free  testingI was given the opportunity to be a beta tester for Groundfloor AI, that's the Automated Investing feature not Artificial Intelligence. I gotta say pretty nice use marketing acronym because no reasonable person would think it's actually Artificial Intelligence but they will have a subliminal connection to the feature and the product. I stumbled upon the opportunity when trying to locate the feature I found a FAQ on how to turn automated investing on. The FAQ was a little vague, so I called in to there support and found out the feature wasn't released yet, actually the FAQ was just pushed out minutes before my search and the feature was only available for beta testing. I explained to the customer service rep that I was a professional QA and from there it was easy. They did check my account to see if I was an active user first, but within 2 hours of my original search/call I was able to make use of the feature.
They didn't give any instruction on the feature, at first I didn't like that but it's more natural to do discovery on the feature like a normal user first time experience. My first time experience was uneventful, it was easy to setup and configure. I have reconfigured it multiple time with no issues. I guess I was disappointed because I couldn't break it, but as a finance product if I was able to break it I would have lost faith in the company at some level.  

Tuesday, July 15, 2014

Part 2 Troubleshooting WebDriver StaleElementReferenceException

StaleElementReferenceException can be a misleading error and people can have a hard time filtering out the actual root cause. The StaleElementReferenceException means the element has been removed or changed in between the time it was referenced and the time it was used.

Let’s walk through some code that might result in a StaleElementReferenceException

  1) We create a variable initialized to a text box
var text1 = driver.FindElement(By.Id("text1"));
  2) Lets imagine some javascript removed it from DOM and then adding it back
  3) Finally the call to SendKeys() will throw "StaleElementReferenceException"
text1.SendKeys("StaleElementReferenceException");

I often see this error on SelectElement's
For example:
A form with dependent SelectElement's: a SelectElement for State that depending on it value populates a SelectElement for City.
When you populate the State SelectElement, the data is loaded into the City SelectElement by removing it from DOM and then adding it back. Lots of apps have these dependent SelectElement's
You can create a variable for the City SelectElement before populating the State but theres might be a race condition if you try t populate it right after populating the State.

Here is a link to the Selenium2 Webdriver documentation on StaleElementReferenceException.

Links to Troubleshooting:
Part 0 Troubleshooting WebDriver issues are easy and so can you!
Part 1 Troubleshooting WebDriver NoSuchElementException
Part 2 Troubleshooting WebDriver StaleElementReferenceException
Part 3 Troubleshooting WebDriver ElementNotVisibleException