Я работал с Selenium и TestNG для автоматизации моего веб-приложения,
в TestNG, у нас есть больше методов тестирования, поэтому я объявил свои драйверы Chrome и ChromeOptions как общедоступный, как показано ниже, код
ChromeOptions options = new ChromeOptions(); //declared options
// WebDriver driver =new ChromeDriver();
ChromeDriver driver = new ChromeDriver(options); //declared driver
, а также я пытаюсь использовать одну из опций chrome _ incognito, чтобы открыть браузер в режиме инкогнито, в строке ниже
options.arguments("--incognito");
он работает только в одном методе тестирования ... ноЯ пишу более 33 тестовых случаев. Я не знаю, как объявлять строки ниже совместно? Сработало
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-notifications");
options.addArguments("--incognito");
//options.addArguments("--headless");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
options.merge(capabilities);
ChromeDriver driver = new ChromeDriver(options);
driver.get("http://demo.com/test/simple_context_menu.html");
driver.manage().window().maximize();
String title= driver.getTitle();
Thread.sleep(5000);
driver.quit();
нормально работает, когда я объявил внутри метода void ниже код
package QAInstallExtentionTest;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
public class testingImplementAreatest{
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-notifications");
options.addArguments("--incognito");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
options.merge(capabilities);
ChromeDriver driver = new ChromeDriver(options);
driver.get("http://demo.com/test/simple_context_menu.html");
driver.manage().window().maximize();
String title= driver.getTitle();
Thread.sleep(5000);
driver.quit();
System.out.println("finished automation" +title);
}
}
, но когда я объявляю то же самое (вне метода void), он не работает и показывает ошибку
package QAInstallExtentionTest;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
public class testingImplementAreatest{
ChromeOptions options = new ChromeOptions(); // declare chromeOptions
options.addArguments("--disable-notifications");
options.addArguments("--incognito");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
options.merge(capabilities);
ChromeDriver driver = new ChromeDriver(options); // declare Chrome driver
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
driver.get("http://demo.com/test/simple_context_menu.html");
driver.manage().window().maximize();
String title= driver.getTitle();
Thread.sleep(5000);
driver.quit();
System.out.println("finished automation" +title);
}
}
Пожалуйста, помогите мне решить эту проблему? а где я ошибаюсь?
Заранее спасибо, приятель, и за более подробную информацию выпуск изображения