Невозможно найти элемент, когда элемент настроен на поиск через POM и записан в другом тестовом примере - PullRequest
0 голосов
/ 28 сентября 2019

Я слежу за объектной моделью страницы и соответственно пишу свои тесты.В какой-то момент я заметил, что код не может найти элемент, когда он написан в другом тестовом примере, но он может найти его, когда я пишу локатор в одном тестовом примере.Ниже приведен код, который я пытаюсь использовать с 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']"}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...