我正在尝试检测在watin测试期间是否遇到服务器错误。我曾经想过下面的代码可以解决这个问题,但是在使用过程中,我在这行测试执行期间得到一个NRE :( Text.Contains(“Server Error”))。
有关该怎么做的任何建议?某种类型的try catch块似乎不适合在这里做。
感谢。
public class WatinBrowser : IE
{
public WatinBrowser(string url, bool createInNewProcess) : base(url, createInNewProcess)
{
}
public override void WaitForComplete(int waitForCompleteTimeOut)
{
base.WaitForComplete(waitForCompleteTimeOut);
if (Text.Contains("Server Error"))
{
throw new ServerErrorException("A server error occured: " + Text);
}
}
}
public class ServerErrorException : Exception
{
public ServerErrorException(string message): base(message)
{
}
}
答案 0 :(得分:1)
我认为问题在于您要覆盖采用超时参数的版本。这意味着可以在没有加载文档的情况下控制返回代码。
我建议:
(2)的代码示例:
if(this.Text == null) throw new TimeoutException();
if(this.Text.Contains("Server Error"))
{
...
}