IntellJ IDEA не реагирует на смену константы в коде автотеста на Selenium
Пишу автотест на Selenium и в своем коде использую фабрику клиентов, что бы с помощью коснтанты менять браузер в котором будет проводиться автотест, однако с изумлением для себя обнаружил что идейка не реагирует на смену значений константы и продолжает выполнять код как будто бы я эту константу не трогал. Помогает только если закомментировать константу , попытаться запустить код , словить ошибку, раскомментировать константу и тогда код выполняется уже с новым значением константы , однако если я захочу снова поменять значение константы мне приходится проделывать тоже самое вновь.Причем в моем коде есть и другие константы локаторы к примеру , на смену которых идейка реагирует как и надо , что за колдунство? Пробовал прожимать File>Ivalidate Cashes/Restart, не помогло. Все это происходит в крякнутой Ultimate 2020.1. Если открыть проект в бесплатной версии идейки , то там таких проблем нет, все работает четко.
Класс с константой
package Config;
public class Config {
/**
* Эта константа определяет в каком браузере будет проводиться тест
* <p>
* CHROME браузер хром
* MOZILLA браузер фаерфокс
* SAFARI браузер SAFARI
*/
public static final String BROWSER_AND_PLATFORM = "CHROME";
}
класс с фабрикой
package Config;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.safari.SafariDriver;
import org.junit.Assert;
import java.time.Duration;
import static Config.Config.BROWSER_AND_PLATFORM;
/**
* Фабрика клиентов в зависимости от установленной константы будет создаваться соответсвующий вебдрайвер
*/
public class ClientsFactory {
public static WebDriver createDriver() {
WebDriver driver = null;
switch (BROWSER_AND_PLATFORM) {
case "CHROME":
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
break;
case "MOZILLA":
WebDriverManager.firefoxdriver().setup();
driver = new FirefoxDriver();
break;
case "SAFARI":
WebDriverManager.safaridriver().setup();
driver = new SafariDriver();
break;
default:
Assert.fail("INCORECT BROWSER NAME " + BROWSER_AND_PLATFORM);
}
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
driver.manage().window().maximize(); // разворачивание окна браузера на весь экран
return driver;
}
}
pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>XXXX</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.6.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>