0

这项工作适用于一家目前正在使用 selenium 3 驱动程序进行 chrome、ff、edge 等的大公司。我们刚刚添加了边缘硒测试的覆盖范围,在这样做的同时,我注意到一些可以添加到的附加参数chrome不能到这个版本的edge驱动。我对硒方面很陌生,所以如果这些问题中的任何一个不清楚,我深表歉意。

我的问题与此问题中提供的解决方案有关:如何在 selenium 测试中删除信息栏“Microsoft Edge 正在由自动化测试软件控制”

在顶部回复的底部,他们最终获得了 selenium-edge-driver 的 4.0.0-alpha-4 版本。我假设这将用于 Selenium 4 而不是我们当前使用的前缀?并且为 Edge 使用版本 4 而为其余版本保留旧版本可能行不通。

如果是这种情况,而不是彻底检查所有内容,Selenium 3 上是否有任何选项可以为 Edge 浏览器添加标志,例如 Chrome(即“--use-file-for-fake-audio-capture =”)或者是 Selenium 4唯一的选择?这将适用于 Edge 发布版本 80(当前版本 87)。

4

1 回答 1

1

而不是普通边缘选项,您必须使用https://mvnrepository.com/artifact/com.microsoft.edge/msedge-selenium-tools-java中的边缘选项

对于 java,使用以下代码:

       import org.openqa.selenium.chrome.ChromeOptions;
       import com.microsoft.edge.seleniumtools.EdgeOptions;

    private static void setEdgeCapabilities(@NonNull final String browser,@NonNull final DesiredCapabilities capabilities) {
    ChromeOptions options=new ChromeOptions();
    EdgeOptions option=new EdgeOptions().merge(options);
    option.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.ACCEPT);
    option.setAcceptInsecureCerts(true);
    option.addArguments("--no-sandbox");
    option.addArguments("--disable-dev-shm-usage");
    option.addArguments(Arrays.asList("--start-maximized","--use-fake-ui-for-media-stream","--use-fake-device-for-media-stream","--auto-select-desktop-capture-source=Entire screen", "--ignore-certificate-errors"));
    option.merge(capabilities);
    capabilities.setCapability(ChromeOptions.CAPABILITY,option);
于 2021-08-05T13:40:12.840 回答