Как объявить ChromeOptions и Chrome Driver как открытый метод для blockBrowserNotification_ Testng - PullRequest
1 голос
/ 17 октября 2019

Я работал с 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);
    }
}

Пожалуйста, помогите мне решить эту проблему? а где я ошибаюсь?

Заранее спасибо, приятель, и за более подробную информацию выпуск изображения

...