我在谷歌搜索过,但没有找到解决方案。有人能帮我一下吗,因为我可以在java中找到解决方案,但不能在C#中找到。
private static final ThreadLocal < WebDriver > webDriver =
new ThreadLocal < WebDriver > () {
@Override protected WebDriver initialValue() {
return BrowserType.getBrowserType().getInstance();
}
};发布于 2015-06-26 13:03:19
使用C# ThreadLocal这样的东西?
public static ThreadLocal<IWebDriver> webDriver =
new ThreadLocal<WebDriver>(() =>
{
return new InternetExplorerDriver();
});希望您有正确的导入:
using OpenQA.Selenium;
using OpenQA.Selenium.IE;注意,除非需要,否则我很少用C#编写代码。
发布于 2015-06-26 13:15:57
Selenium的线程安全从来没有得到保证,严格地说,它不是线程安全的。请参阅这
发布于 2015-06-27 13:01:38
Java解决方案:
多线程客户端代码应该使用它来断言它以线程安全的方式访问webdriver。将WebDriver实例包装如下:
WebDriver driver = ThreadGuard.protect(new FirefoxDriver());与不正确的客户端线程相关的线程问题可能具有神秘和难以诊断的错误。使用此包装器可防止这类错误。建议对所有多线程使用。这个类没有任何重要的开销。
https://stackoverflow.com/questions/31073637
复制相似问题