如何在同一CodedUI测试中与多个浏览器进行交互

时间:2014-06-25 09:54:54

标签: testing automation automated-tests coded-ui-tests

我试图自动化一个场景,我在两个不同的浏览器上登录到有两个用户的站点,然后在同一个测试中进行进一步的交互。它一直运行到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:无法访问网页。如果页面刷新,请等待页面刷新然后对其执行操作。

1 个答案:

答案 0 :(得分:0)

我设法做到这一点的唯一方法是关闭第一个浏览器。为此,您可以执行以下任一操作。在IE作业完成后添加此项并且您想切换到Chrome。

window.Close();

初始化新播放

if (Playback.IsInitialized)
{
    Playback.Cleanup();
    Playback.Initialize();
}