我之前使用 DesiredCapabilities 类创建一个通用方法来设置浏览器的所有功能,使用外部文件(key=value 格式)。这是我的代码
public DesiredCapabilities setWebDriverCapabilities(String browser) throws IOException {
switch (browser) {
case "ie":
capabilities = new DesiredCapabilities().internetExplorer();
break;
case "firefox":
capabilities = new DesiredCapabilities().firefox();
break;
case "chrome":
capabilities = new DesiredCapabilities().chrome();
break;
case "edge":
capabilities = new DesiredCapabilities().edge();
break;
case "safari":
capabilities = new DesiredCapabilities().safari();
break;
default:
capabilities = null;
}
Properties prop = new Properties();
String FS = File.separator;
prop.load(new FileInputStream("src" + FS + "test" + FS + "resources" + FS + browser + ".capabilities"));
Set < Object > keys = prop.keySet();
for (Object k: keys) {
String key = (String) k;
capabilities.setCapability(key, prop.getProperty(key));
}
return capabilities;
}
我发现它建议使用选项类,因为某些功能类将被弃用。所以我试图用一种适用于所有 Options 类的不同方法替换这个方法
- Firefox 选项
- Chrome选项
- InternetExplorer 选项
- Safari 选项
- 边缘选项
我找不到上述所有类的通用对象类型,因此我可以创建一个使用 DesiredCapabilities 的类似方法。
我想从这个新方法返回一个通用对象类型,以便我可以将它用于所有驱动程序初始化,例如
driver = new ChromeDriver(setOptions());
driver = new FirefoxDriver(setOptions());