繁体   English   中英

IE / Chrome浏览器的Selenium Webdriver C#在尝试仅一次登录一次即可运行所有测试方法时无法快速响应

[英]Selenium webdriver c# for IE/Chrome browser is not responding quickly when trying to run all test methods in one go by login only once

我正在使用Selenium Web驱动程序c#运行[测试方法]。 在这里,我只需要启动浏览器一次,然后继续

依次依次执行其余方法。 为了继续执行所有方法,我在测试清理中放置了以下代码-

[TestCleanup]
        public void TestCleanUp()
        {

            BrowserWindow browserWindow = new BrowserWindow();
            browserWindow.CloseOnPlaybackCleanup = false;
            Selenium.Driver.SwitchTo().DefaultContent();
        }

但是在这里,我的第一种方法运行良好,但是启动第二种,第三种... n种方法时,它失去了浏览器的关注,因此有时Ie变得无响应并导致测试失败。

简而言之,我仅执行一次浏览器就无法执行所有方法。 我维护了测试方法的所有顺序。 但是当[测试方法]完成执行时... 2nd未启动。

我的浏览器没有关闭进行第二次试运行,但第二次试运行似乎没有响应。 但是10到15分钟后,它将在相同的现有浏览器上启动我的第二种测试方法。

是否有针对Selenium Web驱动程序c#的解决方案-IE和chrome浏览器。.始终将焦点放在浏览器窗口而不是其他窗口上?

如果要重用浏览器窗口,则需要遵循特定的模式以使其一致且成功。

首先使用testinitialize方法初始化浏览器窗口。 由于这是在播放引擎初始化之前进行的,因此您可以自己进行初始化,如下所示:

[ClassInitialize]
public static void initializeTest(TestContext context)
{
     Playback.Initialize();
     var _bw = BrowserWindow.Launch(new Uri("http://www.bing.com"));
     proc = _bw.Process;
    _bw.CloseOnPlaybackCleanup = false;
}

接下来,在每种测试方法中,您都可以按以下方式重用Windows:

[TestMethod]
public void CodedUITestMethodFirstTest()
{
    BrowserWindow _bw = BrowserWindow.FromProcess(proc);
   _bw.NavigateToUrl(new Uri("http://www.bing.com"));
   //do your stuff here
}

不幸的是,不支持在chrome或firefox上播放时重用浏览器窗口。 这是硒桥实现的有记录的缺点: https : //blogs.msdn.microsoft.com/visualstudioalm/2012/10/30/introducing-cross-browser-testing-with-coded-ui-tests/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM