当我调用方法[duplicate]时在pageObject.PartnerNavigationDrawer.Profile(PartnerNavigationDrawer.java:30)处获取java.lang.NullPointerException。

问题描述 投票:0回答:1
错误:
java.lang.NullPointerException在页面object.PartnerNavigationDrawer.Profile(PartnerNavigationDrawer.java:30)

我该如何解决?

POM类别

package pageObject; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; public class PartnerNavigationDrawer { public WebDriver driver; public PartnerNavigationDrawer(WebDriver driver) { // TODO Auto-generated constructor stub this.driver = driver; } By Dashboard = By.cssSelector("a[href='partner_dashboard.php']"); By Profile = By.cssSelector("a[href='partner_page.php']"); public WebElement Dashboard() { return driver.findElement(Dashboard); } public WebElement Profile() { return driver.findElement(Profile); } }

测试类别

package com.rslsolution; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; import mainTest.PartnerLoginTest; import com.rslsolution.Base; import pageObject.PartnerLogin; import pageObject.PartnerNavigationDrawer; public class Test1 extends Base{ String baseUrl = System.getProperty("user.dir"); Properties pro = new Properties(); FileInputStream fis; WebDriver driver; @Test public void testMethod() throws InterruptedException, IOException { fis =new FileInputStream(baseUrl+"\\DataDriven\\DataDriven.properties"); pro.load(fis); // driver = initializeBrowser(); // driver.get(pro.getProperty("appUrl")); PartnerLoginTest partnerLogin=new PartnerLoginTest(); Thread.sleep(3000); partnerLogin.Login(); Thread.sleep(3000); // PartnerLogin login=new PartnerLogin(driver); // Thread.sleep(3000); // login.Partner_Login().click(); // Thread.sleep(3000); // login.email().sendKeys(pro.getProperty("userName")); // login.password().sendKeys(pro.getProperty("partnerPassword")); // login.Login_Button().click(); PartnerNavigationDrawer navigationDrawer = new PartnerNavigationDrawer(driver); navigationDrawer.Profile().click(); System.out.println("Checking git push command"); } }

错误日志

java.lang.NullPointerException at pageObject.PartnerNavigationDrawer.Profile(PartnerNavigationDrawer.java:28) at com.rslsolution.Test1.testMethod(Test1.java:35) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108) at org.testng.internal.Invoker.invokeMethod(Invoker.java:669) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:877) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1201) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:776) at org.testng.TestRunner.run(TestRunner.java:634) at org.testng.SuiteRunner.runTest(SuiteRunner.java:425) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:420) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:385) at org.testng.SuiteRunner.run(SuiteRunner.java:334) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1318) at org.testng.TestNG.runSuitesLocally(TestNG.java:1243) at org.testng.TestNG.runSuites(TestNG.java:1161) at org.testng.TestNG.run(TestNG.java:1129) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

PartnerLogin类

package pageObject; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; public class PartnerLogin { WebDriver driver; public PartnerLogin(WebDriver driver) { this.driver = driver; } By Partner_Login = By.xpath("/html/body/div[3]/p/a[3]/b/span"); By email = By.cssSelector("input[id='userName']"); By password = By.cssSelector("input[id='pass']"); By Login_Button = By.cssSelector("button[id='submit']"); public WebElement Partner_Login() { return driver.findElement(Partner_Login); } public WebElement email() { return driver.findElement(email); } public WebElement password() { return driver.findElement(password); } public WebElement Login_Button() { return driver.findElement(Login_Button); } }

当我通过使用从PartnerLogin POM类到Test1类的所有对象来运行测试类时,效果很好。问题出在我尝试调用login.Login();时。其中包含所有对象形式...
java xml selenium testng
1个回答
0
投票
driver在类Test1中为null。我看不到您在何处分配值。
© www.soinside.com 2019 - 2024. All rights reserved.