Вызов теста из другого класса селена в Java - PullRequest
3 голосов
/ 22 июля 2011

Это мой метод, который вызывает функцию из другого класса Настройка Selenium определена на слух.

public void Transfer() throws Exception {
System.out.println("\nTransfer\n");
    selenium.open("/logon/user");
    selenium.windowMaximize();
    login obj1 = new login();
    obj1.testlogin();
            selenium.click("link=TRANSFERS");
    selenium.waitForPageToLoad("80000");

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

public class login extends SeleneseTestCase{


public void testlogin(){


    System.out.println("\nLogin\n");    
    selenium.type("companyID", "abcd");
    selenium.type("j_username", "xyz");
    selenium.type("j_password", "123456");
    selenium.click("submit_logon");
    selenium.waitForPageToLoad("80000");

    }
}   

Я получаю следующую ошибку

1) Transfer(test)java.lang.NullPointerException
    at login.testlogin(login.java:12)
    at test.Transfer(test.java:26)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.j

AVA: 212) в SampleSuite.main (SampleSuite.java:25)

Я пытаюсь сохранить все функции, такие как вход в систему, в библиотеке и хочу вызвать их в соответствии с требованиями пакета, но я не могу передать указатель браузера селена на вызываемую функцию

Может кто-нибудь помочь мне устранить ошибку

Настройте код следующим образом:

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

Заранее спасибо всем

1 Ответ

1 голос
/ 19 июня 2012

Просто для простоты, вы можете в основном передать объект Selenium один раз в свой testlogin (Selenium selenium) или вы можете создать статическую переменную Selenium = globalinstance и назначить ее переменной и создать оболочку в классе, который вы хотитеиспользовать в testlogin {selenium globalinstance}.Надеюсь, это поможет как простое решение.

...