2016-09-16 4 views
0

Я написал ниже код, чтобы открыть сайт в браузере Chrome и проверить его название. но при использовании System.setProperty() установить ChromeDriver путь, он дает мне ошибку синтаксиса и когда я заметил линию я получаю:Невозможно запустить тестовый пример TestNG в Eclipse с помощью ChromeDriver

java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property.. 

Мой код:

import org.openqa.selenium.WebDriver; 
    import org.openqa.selenium.chrome.ChromeDriver; 
    import org.testng.Assert; 
    import org.testng.annotations.Test; 

    public class FirsttestNGFile { 
    String BaseURL = "http://newtours.demoaut.com/"; 
    System.setProperty("webdriver.chrome.driver", "E:\\Automation Jars\\chromedriver_win32\\chromedriver.exe"); -- If I comment this line, I get Illegal state Exception for chromedriver path; if not commented , I get syntax error 
    WebDriver driver = new ChromeDriver(); 

    @Test 
    public void verifyHomePageTitle() {  
    driver.get(BaseURL); 
    String ExpectedTitle = "Welcome: Mercury Tours"; 
    String ActualTitle = driver.getTitle(); 
    Assert.assertEquals(ExpectedTitle, ActualTitle); 
    driver.quit();   
    } 
    } 
+0

Я также пробовал Project-> Clean; но это не помогло ни –

ответ

1

Вы не можете определить System.setProperty глобально. Используйте ниже код и попробовать:

WebDriver driver; 
@Before 
public void browser(){ 
System.setProperty("webdriver.chrome.driver", "D:\\Selenium\\CP-SAT\\Chromedriver\\chromedriver.exe"); 
driver = new ChromeDriver(); 
} 

@Test 
public void verifyHomePageTitle() {  

    String BaseURL = "http://newtours.demoaut.com/"; 
    driver.get(BaseURL); 
    String ExpectedTitle = "Welcome: Mercury Tours"; 
    String ActualTitle = driver.getTitle(); 
    Assert.assertEquals(ExpectedTitle, ActualTitle); 
    } 

@Test 
public void a() { 
    driver.get("https://www.google.co.in/?gfe_rd=cr&ei=6PDbV-qTAZHT8gecr4qQBA");  
} 

@After 
public void close(){ 
    driver.quit(); 
    } 
} 

Если вы используете Junit затем использовать @Before или если вы используете TestNG то @BeforeTest.

Ответьте мне на дальнейший запрос. Счастливое обучение. :-)

+0

Будьте осторожны: эквивалент TestNG '@ Before' -' @ BeforeMethod', а не '@ BeforeTest', который вызывается перед группой классов. '@ BeforeSuite'->' @ BeforeTest' -> '@ BeforeClass' ->' @ BeforeMethod' – juherr

+0

спасибо Жюльен. :-) –

+0

Теперь я пытался запустить несколько тестовых примеров, но поскольку я поместил объявление Chromedriver в @beforeTest, я получаю ошибку компиляции для драйвера, используемого в каждом тесте, и когда я обновляю драйвер, он открывает новое хромированное окно каждый раз. Я хочу, чтобы я мог объявить драйвер только один раз и может использоваться в моих методах тестирования каждый раз. –

0

путь обновления драйвера хром в пути переменные окружения, а затем попытаться использовать ниже код в скрипте

@BeforeClass 
public void setup() { 
    WebDriver driver = new ChromeDriver(); 
} 
Смежные вопросы