Как вызвать Selenium для другого класса: NullPointerException - PullRequest
1 голос
/ 26 июля 2011

Как мы можем вызвать объектный селен в другой файл, который имеет половину кода селена.

В PHP я могу, используя следующий код.

login($this); ----> login($sel){ ..... }

Могу ли я сделать то же самое на Java, так как моя установка селена находится в одном файле, а функция, которая использует его, находится в другом файле, мы можем передать селен другому, когда я получаю исключение NullPointerException.Дайте мне знать, если вы хотите получить больше информации, связанной с этим.

Обновление

Library.java

public class Library extends SeleneseTestCase {
    public int Login() throws Exception {

        if (selenium.isElementPresent("companyID")) {
            selenium.type("companyID", "COMP");
            selenium.click("submit_logon");
            selenium.waitForPageToLoad("80000");
        }
    }
}

Login.java

public class Login extends Library {

    @Before
    public void setUp() throws Exception {
        selenium = new DefaultSelenium("localhost", 4444, "*chrome", "https://businessbanking.com/");
        selenium.start();
    }

    public void testAllTests() throws Exception {
        Library obj1 = new Library();
        obj1.Login();
    }
}

Согласно моим наблюдениям экземпляр селен, запущенный в файле логина, не адресован библиотеке.Я попытался передать «селен» в качестве параметра, но потерпел неудачу, в библиотеке я попытался «super.setUp ()», он также потерпел неудачу.

Спасибо.

1 Ответ

2 голосов
/ 27 июля 2011

Заменить:

public void testAllTests() throws Exception {
    Library obj1 = new Library();
    obj1.Login();
}

С:

public void testAllTests() throws Exception {
    super.Login();
}

Поскольку ваш класс Login уже расширяет библиотеку, в нем уже есть метод Login (). В данный момент вы создаете новый объект библиотеки, который не запускает @Before, и поэтому поле Selenium не инициализируется (в новом объекте).

Когда подкласс расширяет базовый класс, он наследует его методы. Это фундаментальная концепция Java и ООП.

...