0

Я пытаюсь запустить его для запуска нескольких тестов с помощью @test, но у меня возникли проблемы с его работой. Я нашел этот пример из https://sites.google.com/a/chromium.org/chromedriver/ Вот мой код:Как использовать ChromeDriver в Selenium WebDriver Java

package com.chrometester.webdriver; 

import org.junit.After; 
import org.junit.Before; 
import org.junit.runner.RunWith; 
import org.junit.runners.BlockJUnit4ClassRunner; 
import org.openqa.jetty.util.TestCase; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriverService; 
import org.openqa.selenium.remote.DesiredCapabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 
import org.testng.annotations.Test; 



@RunWith(BlockJUnit4ClassRunner.class) 
public class ChromeTest extends TestCase { 

    private static ChromeDriverService service; 
    private WebDriver driver; 



    @Before 
    public void createDriver() { 
     driver = new RemoteWebDriver(service.getUrl(), 
       DesiredCapabilities.chrome()); 
    } 

    @Test 
    public void testGoogleSearch() { 
     driver.get("http://www.google.com"); 
     // rest of the test... 
    } 


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


} 
+0

, что исключение вы получаете? – peetya

+0

Ошибка: (17, 12) java: конструктор TestCase в классе org.openqa.jetty.util.TestCase не может применяться к заданным типам; required: java.lang.String found: no arguments Причина: фактические и формальные списки аргументов различаются по длине –

+0

, где именно исключение исходит, и, я думаю, вы импортировали неправильный пакет для Testcase – Madhan

ответ

1

Может быть, проблема в том, что вы используете @test аннотацию из TestNG вместо JUnit. Измените импорт, и он должен работать.

0

junit.framework.TestCase
Тестовый экземпляр импорта.

0

Возможно, лучше использовать TestNG вместо Junit. Вот пример

import com.google.common.collect.ImmutableMap; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriverService; 
import org.openqa.selenium.remote.DesiredCapabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.WebDriverWait; 
import org.testng.annotations.*; 
import java.io.File; 
import java.io.IOException; 
public class Settings { 
protected static WebDriver driver; 
protected static String baseURL = "your base url"; 
public static ChromeDriverService service; 
@BeforeClass 
public static void createAndStartService() { 
    service = new ChromeDriverService.Builder().usingDriverExecutable(new File("pass to your chrome")).usingAnyFreePort() 
      .withSilent(true) 
      .withVerbose(false) 
      .build(); 
    try { 
     service.start(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
@AfterClass 
public static void createAndStopService() { 
    service.stop(); 
} 
@BeforeMethod 
public void setUp() throws IOException { 
    driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome()); 
    driver.get(baseURL); 
} 
@AfterMethod 
public void tearDown() 
{ 
    driver.quit(); 
} 

public static WebDriver getDriver() 
{ 
    return driver; 
} 

И ваш класс с помощью теста будет выглядеть

public class Tests extends Settings { 
    @Test(groups = "smoke tests registration", description = "example") 
    public void test_base_url() { 
     driver.get(baseURL); 
    }