有什么方法可以使用 Selenium C# 为 Safari 使用遗留协议吗?
Is there any way to use the legacy protocol for Safari using Selenium C#
主机:Windows 10 使用 VS 2017、Selenium (.NET) 和 SpecFlow+
我在网络上有一个带有 Safari v12 的 Mojave MacOS,我需要 运行 我的测试脚本。
我正在使用 RemoteWebDriver 运行ning Selenium C# 脚本,但它们失败了,因为 v12 使用最新的 W3C 协议。
SafariDriver 可以使用“--legacy”开关启动。
SafariDriverService 有一个 "UseLegacyProtocol" 但不能在 RemoteWebDriver 中传递(下面的示例)。
有没有办法通过以下方式激活开关:
a) 通过 RemoteWebDriver 传递它?
b) 将它作为一种功能与选项合并并通过 RemoteWebDriver 传递?
c) 在 json 文件中配置开关以用于 Selenium Grid v3?
这是为了使用 C# 代码。
代码例子我已经有:
var sOptions = new SafariOptions();
sOptions.Proxy = null;
var sService = SafariDriverService.CreateDefaultService();
sService.Port = xxxx;
sService.UseLegacyProtocol = true;
Browser = new SafariDriver(sService, sOptions,
TimeSpan.FromSeconds(PageTimeout));
var rOptions = new SafariOptions();
Browser = new RemoteWebDriver(new Uri("http://xx.xxx.xx.xx:xxxx/wd/hub"), rOptions);
谢谢
您可以使用以下代码将功能合并到 SafariOptions 中:
SafariOptions options = new SafariOptions();
options.merge(capabilities);
但是还是有bug,Safaridriver不能处理Proxy,在backlog中还是open ticket
Safari/safaridriver 的发布版本不再支持旧版协议,所以我认为这个问题可以关闭。
主机:Windows 10 使用 VS 2017、Selenium (.NET) 和 SpecFlow+
我在网络上有一个带有 Safari v12 的 Mojave MacOS,我需要 运行 我的测试脚本。 我正在使用 RemoteWebDriver 运行ning Selenium C# 脚本,但它们失败了,因为 v12 使用最新的 W3C 协议。 SafariDriver 可以使用“--legacy”开关启动。 SafariDriverService 有一个 "UseLegacyProtocol" 但不能在 RemoteWebDriver 中传递(下面的示例)。 有没有办法通过以下方式激活开关: a) 通过 RemoteWebDriver 传递它? b) 将它作为一种功能与选项合并并通过 RemoteWebDriver 传递? c) 在 json 文件中配置开关以用于 Selenium Grid v3?
这是为了使用 C# 代码。
代码例子我已经有:
var sOptions = new SafariOptions();
sOptions.Proxy = null;
var sService = SafariDriverService.CreateDefaultService();
sService.Port = xxxx;
sService.UseLegacyProtocol = true;
Browser = new SafariDriver(sService, sOptions,
TimeSpan.FromSeconds(PageTimeout));
var rOptions = new SafariOptions();
Browser = new RemoteWebDriver(new Uri("http://xx.xxx.xx.xx:xxxx/wd/hub"), rOptions);
谢谢
您可以使用以下代码将功能合并到 SafariOptions 中:
SafariOptions options = new SafariOptions();
options.merge(capabilities);
但是还是有bug,Safaridriver不能处理Proxy,在backlog中还是open ticket
Safari/safaridriver 的发布版本不再支持旧版协议,所以我认为这个问题可以关闭。