我使用Selenium和InternetExplorerDriver开发自动化已经有一段时间了。我想迁移到Coypu,并且我正在尝试转换我的代码。在Selenium中,我会指定:
InternetExplorerOptions customProfile = new InternetExplorerOptions()
{
EnsureCleanSession = true,
EnableNativeEvents = false,
IgnoreZoomLevel = true,
IntroduceInstabilityByIgnoringProtectedModeSettings = true,
RequireWindowFocus = false,
EnablePersistentHover = false,
AcceptInsecureCertificates = true,
};
InternetExplorerDriver customDriver = new InternetExplorerDriver(customProfile);有没有办法在Coypu中使用这些设置?
当我尝试通过执行以下操作在上面的代码示例中传入customDriver时:
browserSession = new BrowserSession(session, customDriver);它抱怨“无法从'OpenQA.Selenium.IE.InternetExplorerDriver‘转换为'Coypu.Driver’”
有什么方法可以让BrowserSession接受InternetExplorerDriver作为参数吗?或者,有什么方法可以在SeleniumWebDriver的Coypu版本中指定customProfile中的设置吗?
发布于 2019-06-07 05:03:33
您可以创建自己的Coypu.Drivers.Selenium.SeleniumWebDriver子类。SeleniumWebDriver确实有一个受保护的构造函数,它接受OpenQA.Selenium.IWebDriver作为第一个参数。
使用您提供的代码片段,这将导致以下代码:
public class MySeleniumWebDriver : SeleniumWebDriver
{
public MySeleniumWebDriver(IWebDriver webDriver, Browser browser)
: base(webDriver, browser)
{
}
}var internetExplorerOptions = new InternetExplorerOptions()
{
EnsureCleanSession = true,
EnableNativeEvents = false,
IgnoreZoomLevel = true,
IntroduceInstabilityByIgnoringProtectedModeSettings = true,
RequireWindowFocus = false,
EnablePersistentHover = false,
AcceptInsecureCertificates = true,
};
var internetExplorerDriver = new InternetExplorerDriver(internetExplorerOptions);
var myDriver = new MySeleniumWebDriver(internetExplorerDriver, Browser.InternetExplorer);
var browserSession = new BrowserSession(session, myDriver);https://stackoverflow.com/questions/52299613
复制相似问题