2016-07-29 59 views
1

我正在使用Selenium Webdriver,并且我想验证所有内容都已在浏览器中加载(Chrome会发生这种情况)。浏览器主窗口将有1​​0个或更多的对象加载(每个对象都在自己的iframe中)。我想尽快确定每个对象已经加载,然后继续进行其余的测试。是否可以使用C#的Parallel.foreach结构来加快速度,还是必须进行系列检查。我可以在Selenium Webdriver中使用并行对象识别

Parallel.ForEach(loop, f=> 
{ 
    try 
    { 
     _customObject.MethodCheckingForAnIWebElement(f, AnArrayWithSomeInfo[f]); 
    } 
    catch (Exception e) { Console.WriteLine("Throw:" + f + ":" + e.Message); } 
}); 

上面的代码段抛出F-1 元素没有连接到页面对象错误,这是让我觉得我不能做到这一点的方法。 需要明确的是,每次通话,我会做这样的事情

_webDriver.SwitchTo().Frame(aFrame) 
_webDriver.FindElement(By.CssSelector(some.property)); 

道歉,如果我错过了这方面的一些明显的文档!

+0

答案似乎是否定的。 :) – SlightlyKosumi

回答

-1

答案看起来像我怀疑的那样,在Selenium WebDriver的线程模型中我们不能并行处理。因此一致的附件错误。另见Can Selenium use multi threading in one browser?

+0

请使用您问题上的编辑链接添加其他信息。后回答按钮应该只用于问题的完整答案。 - [来自评论](/ review/low-quality-posts/14112736) – VDWWD

+0

感谢您的评论。你如何看待我的答案可能更完整? – SlightlyKosumi

+0

答案很短,没有代码。它可能是你的问题的更新。 – VDWWD

相关问题