Org.testng.TestNGException: произошла ошибка при создании экземпляра класса. Убедитесь, что он может быть создан/доступеJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Org.testng.TestNGException: произошла ошибка при создании экземпляра класса. Убедитесь, что он может быть создан/доступе

Сообщение Anonymous »

Я пишу сценарий Selenium, используя Java, TestNG и Maven. До использования объектной модели страницы все работало нормально. После использования POM я получаю следующую ошибку:

org.testng.TestNGException:
An произошла ошибка при создании экземпляра класса YieldStreetCartAutomation.SauceDemo.Login. Убедитесь, что к нему можно создать экземпляр или получить к нему доступ.
по адресу org.testng.internal.InstanceCreator.createInstanceUsingObjectFactory(InstanceCreator.java:134)
по адресу org.testng.internal.InstanceCreator.createInstance(InstanceCreator.java) :79)
в org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:109)
в org.testng.internal.ClassImpl.getInstances(ClassImpl.java:167)
в org.testng.TestClass.getInstances(TestClass.java:102)
в org.testng.TestClass.initTestClassesAndInstances(TestClass.java:82)
в org.testng.TestClass.init(TestClass.java: 74)
в org.testng.TestClass.(TestClass.java:39)
в org.testng.TestRunner.initMethods(TestRunner.java:459)
в org.testng.TestRunner. init(TestRunner.java:338)
в org.testng.TestRunner.init(TestRunner.java:291)
в org.testng.TestRunner.(TestRunner.java:222)
в org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33)
на org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66)
на org .testng.ITestRunnerFactory.newTestRunner(ITestRunnerFactory.java:55)
в org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:676)
в org.testng.SuiteRunner.init(SuiteRunner.java) :178)
в org.testng.SuiteRunner.(SuiteRunner.java:112)
в org.testng.TestNG.createSuiteRunner(TestNG.java:1275)
в org.testng.TestNG .createSuiteRunners(TestNG.java:1251)
в org.testng.TestNG.runSuitesLocally(TestNG.java:1100)
в org.testng.TestNG.runSuites(TestNG.java:1039)
в org.testng.TestNG.run(TestNG.java:1007)
в org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
в org.testng.remote.RemoteTestNG. initAndRun(RemoteTestNG.java:251)
на org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

Вот мой BaseTest

Код: Выделить всё

package YieldStreetCartAutomation.SauceDemo;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;

public class BaseTest {

public  WebDriver driver;

@BeforeSuite
public void setup() {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\viral\\Downloads\\chromedriver_win32 (1)\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("https://www.saucedemo.com/");
driver.manage().window().maximize();

}

@AfterSuite
public void teardown() {
driver.close();
}
}
Вот моя основная программа:

Код: Выделить всё

   package YieldStreetCartAutomation.SauceDemo;

import java.util.List;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.apache.commons.lang3.RandomStringUtils;

public class Login extends BaseTest
{

public Login(WebDriver driver){
this.driver = driver;
PageFactory.initElements(driver, this);

}

@FindBy(id = "user-name")
WebElement username;
@FindBy(id = "password")
WebElement password;
@FindBy(className = "btn_action")
WebElement submit;
@FindBy(css = "div#shopping_cart_container>a>svg>path")
WebElement cart;
@FindBy(css = "div.cart_footer :last-child")
WebElement checkout;
@FindBy(id = "first-name")
WebElement firstname;
@FindBy(id = "last-name")
WebElement lastname;
@FindBy(id = "postal-code")
WebElement zip;
@FindBy(xpath = "//input[@value='CONTINUE']")
WebElement cont;
@FindBy(css = "div.cart_footer :last-child")
WebElement finish;
@FindBy(css = "div.bm-burger-button>button")
WebElement menu;
@FindBy(id = "logout_sidebar_link")
WebElement logout;

String thankyou;

@BeforeMethod
public void Logon() {
username.sendKeys("standard_user");
password.sendKeys("secret_sauce");
submit.click();
}

@Test
public void cart() {
String title = driver.getTitle();
System.out.println(title);
List  button = driver.findElements(By.xpath("//button[text()='ADD TO CART']"));
for(WebElement bt : button) {
bt.click();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
cart.click();
checkout.click();
firstname.sendKeys(RandomStringUtils.randomAlphabetic(5));
lastname.sendKeys(RandomStringUtils.randomAlphabetic(5));
zip.sendKeys(RandomStringUtils.randomNumeric(5));
cont.click();
finish.click();
thankyou = driver.findElement(By.cssSelector("h2.complete-header")).getText();
Assert.assertEquals(thankyou, "THANK YOU FOR YOUR ORDER");

}

@AfterMethod
public void logout() {
menu.click();
WebElement logout = driver.findElement(By.id("logout_sidebar_link"));
logout.click();

}

}
POM.xml:

Код: Выделить всё

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

YieldStreetCartAutomation
SauceDemo
0.0.1-SNAPSHOT
jar

SauceDemo
http://maven.apache.org


UTF-8




junit
junit
3.8.1
test


org.testng
testng
7.1.0
test


org.seleniumhq.selenium
selenium-java
3.141.59


commons-io
commons-io
2.6


org.apache.commons
commons-lang3
3.0


xml-apis
xml-apis
1.4.01



Пожалуйста, помогите мне


Подробнее здесь: https://stackoverflow.com/questions/609 ... ss-check-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»