gpt4 book ai didi

java - 如何读取XML属性并存储到字符串中?

转载 作者:行者123 更新时间:2023-12-02 00:48:35 25 4
gpt4 key购买 nike

我将 Web 驱动程序路径存储在以下 XML 文件中。我想转换 xml 文件并将值存储到字符串中。例如,当字符串值等于“chrome”时,它应该通过加载存储在与该字符串关联的XML文件中的路径来启动浏览器。我不想使用 WebDriverManager。

XML 文件

<?xml version="1.0" encoding="UTF-8"?>
<WebDrivers>
<WebDriver name="Chrome">C:\Users\QA\Maven\BrowserDrivers\chromedriver.exe</WebDriver>
<WebDriver name="FireFox">C:\Users\QA\Maven\BrowserDrivers\geckodriver.exe</WebDriver>
<WebDriver name="Edge">C:\Users\QA\Maven\BrowserDrivers\geckodriver.exe</WebDriver>
</WebDrivers>

BasePage类方法

public WebDriver Init_Browser(Properties prop) {
String browser = prop.getProperty("browser");

if (browser.equalsIgnoreCase("chrome")) {
WebDriverManager.chromedriver().setup();
tldriver.set(new ChromeDriver()); // tl = thread local concept
} else if (browser.equalsIgnoreCase("firefox")) {
WebDriverManager.firefoxdriver().setup();
tldriver.set(new FirefoxDriver());
} else if (browser.equalsIgnoreCase("Edge")) {
WebDriverManager.edgedriver().setup();
tldriver.set(new EdgeDriver());
} else {
System.out.println(browser + " browser not defined");
}
getDriver().manage().window().fullscreen();
getDriver().manage().deleteAllCookies();
getDriver().manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
return getDriver();
}

最佳答案

一种方法是使用 JAXB,您可以将 XML 解码为 java 对象,然后可以基于这些 java 对象创建属性:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class WebDrivers {

@XmlElementRef(name = "WebDriver")
private List<WebDriver> WebDrivers;

// Getters and Setters
}

@XmlElement(name = "WebDriver")
public static class WebDriver {

@XmlAttribute(name = "name")
private String name;

@XmlValue
private String path;

// Getters and Setters
}

关于java - 如何读取XML属性并存储到字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57878699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com