这是我从另一个类调用函数的方法 定义了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");
这是另一个具有为上述调用者执行的函数的类。 上面的设置函数有selenium对象,应该在库中调用listen。
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)
我正在尝试保存所有函数,比如在库中登录,并希望按套件中的要求调用它们,但我无法将selenium浏览器的指针传递给被调用的函数
任何人都可以帮我解决错误
设置代码如下:
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "https://abc.com/");
selenium.start();
}
提前感谢所有
答案 0 :(得分:1)
为了简单起见,您基本上可以将Selenium对象一次传递给testlogin(Selenium selenium),或者您可以创建Selenium = globalinstance的静态变量并将其分配给变量并在您想要的类中创建一个包装器在testlogin {selenium globalinstance}中使用。希望这有助于解决这个问题。