我试图自动化一个场景,我在两个不同的浏览器上登录到有两个用户的站点,然后在同一个测试中进行进一步的交互。它一直运行到Chrome已启动URL并且记录的步骤失败,从而导致无法访问网页的错误。如果记录的步骤被分离出自己的测试方法,那么记录的步骤可以在Chrome上运行。
BrowserWindow window;
window = BrowserWindow.Launch(new Uri("http://example.com"));
this.UIMap.ClickOnSignInLink();
this.UIMap.TypeInValidUserCredential();
this.UIMap.ClickOnSignInButton();
this.UIMap.AssertUserIsLoggedIn();
BrowserWindow window2;
BrowserWindow.CurrentBrowser = "Chrome";
window2 = BrowserWindow.Launch(new Uri("http://example.com"));
this.UIMap.ClickOnSignInLink();
this.UIMap.TypeInValidUserCredential();
this.UIMap.ClickOnSignInButton();
测试方法FeaturesTest.LiveBidding抛出异常: Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException:无法访问网页。如果页面刷新,请等待页面刷新然后对其执行操作。
答案 0 :(得分:0)
我设法做到这一点的唯一方法是关闭第一个浏览器。为此,您可以执行以下任一操作。在IE作业完成后添加此项并且您想切换到Chrome。
window.Close();
或 初始化新播放
if (Playback.IsInitialized)
{
Playback.Cleanup();
Playback.Initialize();
}