这项工作针对的是一家大公司,该公司目前正在为chrome、ff、edge等使用selenium 3驱动程序。我们刚刚增加了边缘selenium测试的覆盖范围,在这样做的同时,我注意到一些可以添加到chrome的附加参数不能添加到这个版本的边缘驱动程序中。我对硒元素还很陌生,所以如果这些问题不清楚,我很抱歉。
我的问题与这个问题中提供的解决方案有关:如何删除信息栏";Microsoft Edge是由自动化测试软件"控制的;硒测试
在顶部回复的底部,他们最终得到了硒边缘驱动程序的4.0.0版本。我假设前缀是Selenium 4,而不是我们目前使用的?对Edge使用版本4,而对其余部分保留旧版本可能不起作用。
如果是这样的话,Selenium 3上有没有任何选项可以为Chrome等Edge浏览器添加标志(即"使用文件进行虚假音频捕获="(,或者Selenium 4是唯一的选择?这将适用于Edge后期版本80(当前版本87(。
您必须使用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);