【发布时间】:2009-03-24 21:35:50
【问题描述】:
当尝试在 Visual Studio 2008 中运行一个非常简单的 WatiN 2.0 (CTP3) 测试时,我发现第一个测试总是执行得很好。第二种测试方法似乎破坏了 IE 对象中的某些内容,产生以下异常:
测试方法 testProject.WatinTest.testTwo 扔了 例外: System.Runtime.InteropServices.InvalidComObjectException: 已分离的 COM 对象 从其基础 RCW 不能 用过..
示例代码如下。由于初始化方法在 VS2008 中的工作方式,浏览器变量必须定义为static,我相信这可能是问题的关键。不幸的是,除非浏览器以通用方法打开,否则这意味着每个测试都有一个单独的窗口,这并不理想
我将非常感谢有关如何解决此问题的任何想法。 谷歌搜索和 SO 搜索没有产生任何有用的结果,所以我希望这个问题的一个好的答案将有助于社区。非常感谢,
private static IE ie
[ClassInitialize]
public static void testInit(TestContext testContext)
{
ie = new IE("http://news.bbc.co.uk");
}
[TestMethod]
public void testOne()
{
Assert.IsTrue(ie.ContainsText("Low graphics"));
}
[TestMethod]
public void testTwo()
{
Assert.IsTrue(ie.ContainsText("Low graphics"));
}
【问题讨论】:
标签: visual-studio testing automation watin