Невозможно найти элемент, когда я использую несколько классов - PullRequest
0 голосов
/ 13 мая 2019

Я создаю тест объектно-ориентированным способом и делю свои коды на отдельные классы.

Это прекрасно работает, если я пишу свои коды процедурно. Но мне интересно, почему он не может найти элемент, когда я разделяю его на несколько классов.

Вот мой код, который я написал процедурно и работает нормально:

        driver.get(common.WP_ADMIN);

        WebElement user_name = driver.findElement(By.name("log"));

        user_name.sendKeys(common.WP_USER);

        WebElement password = driver.findElement(By.name("pwd"));

        password.sendKeys(common.WP_PASS);

        WebElement btn_submit = driver.findElement(By.name("wp-submit"));

        btn_submit.submit();

        driver.get(common.WP_ADMIN + "/customize.php");

       //It can locate #adminmenu and it's clickable
        WebElement site_identify = driver.findElement(By.cssSelector("#adminmenu"));


        site_identify.click();

Но если я разделю свои коды на несколько классов Элемент "#adminmenu" не может быть найден:

loginWP Класс:

      driver.get(common.WP_ADMIN);

       WebElement user_name = driver.findElement(By.name("log"));

       user_name.sendKeys(common.WP_USER);

       WebElement password = driver.findElement(By.name("pwd"));

       password.sendKeys(common.WP_PASS);

       WebElement btn_submit = driver.findElement(By.name("wp-submit"));

       btn_submit.submit();

       driver.get(common.WP_ADMIN + "/customize.php");




AdminMenu Класс:

public class AdminMenu {

    public void adminMenuTest(WebDriver driver) {

    //It can't be loacted    
    WebElement site_identify = driver.findElement(By.cssSelector("#adminmenu"));

}

}


Основной класс:



     //Login to Wordpress
     login.loginWP(common.WP_ADMIN, common.WP_USER, common.WP_PASS);


     // Begin test
     AdminMenu adminMenu = new AdminMenu();


     adminMenu.adminMenuTest(driver);

Это показывает мне это:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#adminmenu"}

Почему не удается найти элемент, когда я использую классы?

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