我像往常一样运行我的回归和冒烟测试,但在过程中它自己失败了。我收到了上面的错误。我更新了我的chrome驱动程序,以及chrome本身。但我总是得到相同的错误,这是我第一次得到这样的问题,我已经检查了代码,但我找不到任何合理的错误。有什么建议吗?
在这里找到我的部分基础代码...
public class base {
public static WebDriver driver;
public Properties prop;
public WebDriver initializeDriver() throws IOException
{
prop = new Properties();
//FileInputStream System.getProperty("user.dir")
FileInputStream file = new FileInputStream(System.getProperty("user.dir")+"/src/main/java/resources/data.properties");
prop.load(file);
String browserName = prop.getProperty("browser");
//Field field = Class.getField("driver");
//String browserName = System.getProperty("browser");
System.out.println(browserName);
if (browserName.equals("Chrome")){
//Execute
System.setProperty("webdriver.chrome.driver","/Users/lisandrosilva/Documents/Drivers/chromedriver 6");
//ChromeOptions options = new ChromeOptions();
driver = new ChromeDriver();
}
if(browserName.equals("headless")) {
System.setProperty("webdriver.chrome.driver","/Users/lisandrosilva/Documents/Drivers/chromedriver 5");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--disable-gpu");
driver = new ChromeDriver(options);
}
else if (browserName.equals("Safari")) {
//Execute
//driver = new SafariDriver();
}
else if (browserName.equals("FireFox")) {
System.setProperty("webdriver.gecko.driver","/Users/lisandrosilva/Documents/Drivers/geckodriver 3");
driver = new FirefoxDriver();
//Execute
// driver = new FirefoxDriver();
}发布于 2020-07-25 00:22:44
NoSuchFieldException
NoSuchFieldException表示类没有指定名称的字段。
如果此错误发生在测试过程中,则可能是您的程序访问了错误的文件。我建议将属性文件重命名为myProp.properties而不是data.properties,并执行您的测试。
发布于 2021-01-17 16:03:02
正如Lisandro Fernando在他们的comment中提到的那样,我也曾面临过同样的问题,现在它得到了解决。
使用getField方法代替getDeclaredField方法。
https://stackoverflow.com/questions/63076875
复制相似问题