Нужна помощь с запуском первого теста ChromeDriver

chromedriver
webdriver
Теги: #<Tag:0x00007fedb9ab2a80> #<Tag:0x00007fedb9ab28f0>

(Leon) #1

Здравствуйте. Подскажите пожалуйста, вроде уже подключил ChromeDriver, TestNG а не могу запустить драйвер…

package ru.stqa.pft.TestOrder;



import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;


public class SuccessOrder {

    WebDriver chromeDriver = new ChromeDriver ();

@BeforeMethod
     public void settings() throws Exception{
              chromeDriver.manage ().timeouts ().implicitlyWait (60, TimeUnit.SECONDS);
         chromeDriver.get("https://test.com");


    }

    @Test
    public void test1() {
        WebElement order_now = chromeDriver.findElement (By.linkText ("Order Now"));
        order_now.click ();
    }


    @AfterMethod
    public  void End () {

    }


}


(Алексей Берлин) #2

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


(Leon) #3

Вот так? всеравно ругается

package ru.stqa.pft.TestOrder;



import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;


public class SuccessOrder {
    public static void main(String[] args) {


        System.setProperty ("webdriver.chrome.driver", "/program/study/project/src/settings/chromedriver.exe");


    }




@BeforeMethod
     public void Start() throws Exception{
    WebDriver chromeDriver = new ChromeDriver ();
              chromeDriver.manage ().timeouts ().implicitlyWait (60, TimeUnit.SECONDS);
         chromeDriver.get("https://test.com");


    }

    @Test
    public void test1() {
        WebDriver chromeDriver = new ChromeDriver ();
        WebElement order_now = chromeDriver.findElement (By.linkText ("Order Now"));
        order_now.click ();
    }


    @AfterMethod
    public  void End () {

    }


}

(Fiodar Motin) #4

@BeforeMethod
     public void Start() throws Exception{
    System.setProperty ("webdriver.chrome.driver", "src/settings/chromedriver.exe");
    WebDriver chromeDriver = new ChromeDriver ();
              chromeDriver.manage ().timeouts ().implicitlyWait (60, TimeUnit.SECONDS);
         chromeDriver.get("https://test.com");
    }

}

Подключите selenide, то как сейчас вы хотите сделать не лучший вариант, main метод вам в обще не надо


(Yaroslava Polishchuk) #5

Вот так попробуйте:

	System.setProperty("webdriver.chrome.driver", ".//target//test-classes//chromedriver.exe");
				capabilities = DesiredCapabilities.chrome();
				return new ChromeDriver(capabilities);

(Leon) #6

Подскажите почему “BeforeMethod” затирается? https://www.screencast.com/t/aXmU8JLmY


(Fiodar Motin) #7

А что вам IDE подсказывает?? возможно она предложить записать жту аннотацию просто по другому
Ну и было бы еще лучше если бы вы скинули код всего класса ну или скрин


(Leon) #8

Код `package ru.stqa.pft.TestOrder;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;

public class SuccessOrder {

@BeforeMethod
public void Start() throws Exception {
    System.setProperty ("webdriver.chrome.driver", "src/settings/chromedriver.exe");
    WebDriver chromeDriver = new ChromeDriver ();
    chromeDriver.manage ().timeouts ().implicitlyWait (60, TimeUnit.SECONDS);
    chromeDriver.get ("https://test.com");
}



@Test
public void CreateNewOrder() {
    WebDriver chromeDriver = new ChromeDriver ();
    WebElement order_now = chromeDriver.findElement (By.linkText ("Order Now"));
    order_now.click ();

    

    WebElement subj= chromeDriver.findElement(By.cssSelector ("#order > div.jq-selectbox__dropdown > ul > li:nth-child(2)"));
    subj.click();
}


//@AfterMethod

}`


(Fiodar Motin) #9

Только что скопировал ваш код все работает норм)
Запустите ваш тест несмотря на вашу проблему и скиньте ошибку из стактрейса и скиньте версию testNG сюда или в обще весь пом если вы конечно mavenov собираете
Вот моя если что

		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>6.11</version>
		</dependency>

Как вариант если собираете мавеном то можете поискать конфликты между testNG (мало ли у вас где то завалялась старая версия testNG которая мешает новой) пропишите dependency


(Leon) #10

Да , у меня стояла версия testng 6.8 изменил на 6.11 и все норм) Большое спасибо