Thanks for taking the time to setup the repro. I took a look at this issue. Here is what I found out:
IE is stuck with ReadyState = READYSTATE_INTERACTIVE. Basically IE doesn’t believe the document is ready. Most probably this is because I never finished the download. In your testing did you let the full movie download? You might want to try that first. (Pick a smaller size movie).
In any case, here is a work around that worked for me. In WebAii after each action, we wait for the page to be ready and then do a dom refresh . This is to make sure the DOM is always up to date after each action. You can disable that by setting the AutoDomRefresh & AutoWaitUntilReady to false. You need to disable both since AutoDomRefresh will invoke a WaitUntilReady even if AutoWaitUntilReady is turned off since you can’t get the DOM if the document is not ready. Here is some code that makes the test pass. I just tested it.
// Download clip
Element downloadlink = Find.ByAttributes("class=link-row");
Assert.IsNotNull(downloadlink);
downloadlink = downloadlink.Children[0];
Disable auto wait for the browser
ActiveBrowser.AutoWaitUntilReady = false;
ActiveBrowser.AutoDomRefresh = false;
Click download.It will not wait for the readystate for IE
Actions.Click(downloadlink);
Re-enable the auto dom wait and refresh
ActiveBrowser.AutoDomRefresh = true;
ActiveBrowser.AutoWaitUntilReady = true;
Given that we didn’t automatically wait for the DOM to be ready, make sure we wait for the
element that we are going to click next.
Actions.WaitForElement(new FindParam("id=ctl00_MainContent_btnReturn"), 20000);
// WebAii Framework is broken... stuck in ActiveBrowser.WaitUntilReady(). Waiting for fix from AoT.
Actions.Click(Find.ById("ctl00_MainContent_btnReturn"));
I’ll take an action item to look into how we can make these scenario easier in future versions.
ArtOfTest, Inc.