My situation is as follows:
- I'm using the TestStudio Standalone version to test an ASP.NET Web Application.
- I'm testing a set of actions wherein a file input html control is used at some point.
I wanted to extract the exact bits where the file input is handled so that I could reuse it in my similar tests. - I made a small data-driven test to do this that inherits its data-source from its parent.
- That test would run properly on its first iteration but on any of the following iterations, nothing would happen once the file upload dialog popped up.
To make a long story short, I was following examples that I found online (mostly from these forums) where people were trying to programatically handle dialogs, and in most of those threads, "Manager.DialogMonitor.Start();" and "Manager.DialogMonitor.Stop();" were being called before and after (respectively) the dialog was handled in the code. As it turns out, though, once "DialogMonitor.Stop();" is called, the DialogMonitor cannot be started again, which is why only the first iteration of my test was working.
Now that I think about it, most of those threads were probably posted by people using the TestStudio VS Plugin as opposed to the Standalone version. Regardless, I never saw any mention of the fact that explicitely stopping the DialogMonitor in the Standalone version would render it unable to be started again. As I also found out, it doesn't need to be explicitely started in the Standalone version either, but that's besides the point.
I did notice that in the TestStudio Standalone Documentation, the Start/Stop methods aren't included in the examples, but at the time, I presumed that was for the sake of brevity and merely glanced over it. Perhaps I'm just blind, but in my humble opinion, it should be more obvious that these two methods should not be used when working with the Standalone version (presuming that the issue I ran into isn't a bug). It may be a small issue, but it killed much of my productivity for a day.