Я слежу за объектной моделью страницы и соответственно пишу свои тесты.В какой-то момент я заметил, что код не может найти элемент, когда он написан в другом тестовом примере, но он может найти его, когда я пишу локатор в одном тестовом примере.Ниже приведен код, который я пытаюсь использовать с POM.
До этого я заметил, что у меня нет пакета для запуска нескольких тестов.Поэтому я подумал, что не смог бы найти исключение элемента.Но затем я добавил пакет и все еще получаю ту же ошибку.
@Test
public void login() throws Exception {
getdriver().get("http://10.6.6.132:3000/login");
EyeGuide_Login_Pom lg=PageFactory.initElements(getdriver(),
EyeGuide_Login_Pom.class);
lg.loginEyeguide();
Thread.sleep(5000);
Assert.assertEquals(getdriver().getTitle(),"EyeGuide");
//Assert.assertEquals(getdriver().getCurrentUrl(),lg.url);
Thread.sleep(2000);
}
@Test
public void deactivateorg() throws Exception {
organizationpagepom or=PageFactory.initElements(getdriver(), organizationpagepom.class);
or.deactorg();
}
}
// organizationpagepom
public class organizationpagepom extends Basetest {
// organizationpagepom(WebDriver driver){
// super(driver);
// }
@FindBy(css="a[href='/organization']")
WebElement manageorg;
@FindAll(@FindBy(xpath="//*[text()='Deactivate']"))
List<WebElement> deactorglinks;
@FindAll(@FindBy(xpath="//*[@class='ant-btn downloadBtn ant-dropdown-
trigger']"))
List<WebElement> actdeactseldrpdown;
@FindAll(@FindBy(xpath="//*[@class='ant-dropdown-menu-item']"))
List<WebElement> activeinactiveddownvalues;
public void deactorg() throws Exception
{
manageorg.click();
Thread.sleep(2000);
deactorglinks.get(0).click();
Thread.sleep(2000);
actdeactseldrpdown.get(1).click();
Thread.sleep(2000);
activeinactiveddownvalues.get(0).click();
Thread.sleep(3000);
}
}
Используя этот код, элемент успешно расположен и тестовый пример выполняется без сбоев.
@Test
public void login() throws Exception {
getdriver().get("http://10.6.6.132:3000/login");
EyeGuide_Login_Pom lg=PageFactory.initElements(getdriver(),
EyeGuide_Login_Pom.class);
lg.loginEyeguide();
Thread.sleep(5000);
Assert.assertEquals(getdriver().getTitle(),"EyeGuide");
//Assert.assertEquals(getdriver().getCurrentUrl(),lg.url);
Thread.sleep(2000);
}
organizationpagepom or=PageFactory.initElements(getdriver(),
organizationpagepom.class);
or.deactorg();
}
Это набор тестов
<suite name="suite1">
<test name="test1">
<classes>
<class name="test1.EyeGuide_ver2_test"></class>
</classes>
</test>
</suite>
Ожидаемый результат состоял в том, что он должен был успешно пройти все тесты, когда я написал второй тест отдельно в другом методе.Но журнал ошибок, который я получаю в консоли:
org.openqa.selenium.NoSuchElementException: нет такого элемента: невозможно найти элемент: {"method": "css selector", "selector": "a [href = '/ organization']"}