Failed to create new instance of class ru.hpsm.selenide_elements.element_imp.table.ResTable
Почему появляется такая ошибка? Так же указывает на строку 28, которая абсолютно пустая.
java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at cucumber.runtime.java.DefaultJavaObjectFactory.cacheNewInstance(DefaultJavaObjectFactory.java:41)
at cucumber.runtime.java.DefaultJavaObjectFactory.getInstance(DefaultJavaObjectFactory.java:33)
at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:37)
at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:40)
at cucumber.api.TestStep.executeStep(TestStep.java:102)
at cucumber.api.TestStep.run(TestStep.java:83)
at cucumber.api.TestCase.run(TestCase.java:58)
at cucumber.runner.Runner.runPickle(Runner.java:80)
at cucumber.runtime.Runtime.runFeature(Runtime.java:119)
at cucumber.runtime.Runtime.run(Runtime.java:104)
at cucumber.api.cli.Main.run(Main.java:36)
at cucumber.api.cli.Main.main(Main.java:18)
at ✽.PageAllConfigurationItems > проверить значения в таблице конфигурационных единиц, в строке под номером 1(C:/Users/Семён/IdeaProjects/Hspm/hpsm_em/src/test/java/ru/hpsm/features/stand4me/2036037 Сохранение числа КЕ по фильтру.feature:28)
Caused by: java.lang.RuntimeException: Failed to create new instance of class ru.hpsm.selenide_elements.element_imp.table.ResTable
at com.codeborne.selenide.Selenide.page(Selenide.java:634)
at ru.hpsm.steps.AtomicSteps.Checks.table.CheckTableRes.<clinit>(CheckTableRes.java:28)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at cucumber.runtime.java.DefaultJavaObjectFactory.cacheNewInstance(DefaultJavaObjectFactory.java:41)
at cucumber.runtime.java.DefaultJavaObjectFactory.getInstance(DefaultJavaObjectFactory.java:33)
at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:37)
at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:40)
at cucumber.api.TestStep.executeStep(TestStep.java:102)
at cucumber.api.TestStep.run(TestStep.java:83)
at cucumber.api.TestCase.run(TestCase.java:58)
at cucumber.runner.Runner.runPickle(Runner.java:80)
at cucumber.runtime.Runtime.runFeature(Runtime.java:119)
at cucumber.runtime.Runtime.run(Runtime.java:104)
at cucumber.api.cli.Main.run(Main.java:36)
at cucumber.api.cli.Main.main(Main.java:18)
Caused by: java.lang.NoSuchMethodException: ru.hpsm.selenide_elements.element_imp.table.ResTable.<init>()
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.getDeclaredConstructor(Class.java:2178)
at com.codeborne.selenide.Selenide.page(Selenide.java:630)
... 17 more
package ru.hpsm.steps.AtomicSteps.Checks.table;
import cucumber.api.DataTable;
import cucumber.api.java.ru.Тогда;
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.List;
import java.util.Map;
public class CheckTableRes {
/**
*
* @param rowNum - номер строки
* @param table - передаваемая таблица из шага
*/
@Тогда("^PageAllConfigurationItems > проверить значения в таблице конфигурационных единиц, в строке под номером (\\d+)$")
public void pageallconfigurationitems_проверить_значения_в_таблице_конфигурационных_единиц_в_строке_под_номером(int rowNum, DataTable table) {
WebDriver driver = new ChromeDriver();
List<Map<String, String>> data = table.asMaps(String.class, String.class);
WebElement tableElement = driver.findElement(By.cssSelector("div[class='grid-container']"));
WebElement row = tableElement.findElement(By.xpath(".//div[@class='grid-row'][position()=" + rowNum + "]"));
List<WebElement> cells = row.findElements(By.xpath(".grid-row span"));
for (int i = 0; i < cells.size(); i++) {
String actualValue = cells.get(i).getText();
if (i == 2) {
String expectedValueFirst = data.get(0).get("Пользовательские лицензии 4me");
Assert.assertEquals("Значения не совпадают", expectedValueFirst, actualValue);
} else if (i == 3) {
String expectedValueSecond = data.get(0).get("Выдана");
Assert.assertEquals("Значения не совпадают", expectedValueSecond, actualValue);
}
}
}
}
Тогда PageAllConfigurationItems > проверить значения в таблице конфигурационных единиц, в строке под номером 1
| Продукт | Пользовательские лицензии 4me |
| Статус | Выдана |