org.openqa.selenium.interactions.Actions上的java.lang.NullPointerException;初始化>;
在POM中使用Actions类时,获取空指针异常org.openqa.selenium.interactions.Actions上的java.lang.NullPointerException;初始化>;,selenium,Selenium,在POM中使用Actions类时,获取空指针异常 public class Homepage_purchase { WebDriver driver; @FindBy(xpath="//*[@id=\"menu-item-2822\"]") WebElement Purc_Form; @FindBy(xpath="//*[@id=\"menu-item-2824\"]") WebElement Purc_Form2; @FindBy(xpath="//*[@i
public class Homepage_purchase {
WebDriver driver;
@FindBy(xpath="//*[@id=\"menu-item-2822\"]") WebElement Purc_Form;
@FindBy(xpath="//*[@id=\"menu-item-2824\"]") WebElement Purc_Form2;
@FindBy(xpath="//*[@id=\"menu-item-2843\"]") WebElement Purc_Form6;
public Homepage_purchase(WebDriver driver) {
PageFactory.initElements(driver, this);
this.driver=driver;
}
public void Purchaseform_1() {
Actions act=new Actions(driver);
act.moveToElement(Purc_Form).build().perform();
act.moveToElement(Purc_Form2).build().perform();
act.moveToElement(Purc_Form6).build().perform();
Purc_Form6.click();
}
}
public class baseTest {
public WebDriver driver;
public void browserLaunch(String Browser_is) {
if(Browser_is.equalsIgnoreCase("Chrome")){
System.setProperty("webdriver.chrome.driver","C:\\Users\\veerendra\\Downloads\\python software\\chromedriver.exe");
driver=new ChromeDriver();
}
else if(Browser_is.equalsIgnoreCase("firefox")){
System.setProperty("webdriver.chrome.driver","C:\\Users\\veerendra\\Downloads\\python software\\chromedriver.exe");
driver=new ChromeDriver();
}
}
public void Url_selection(String URL,int waitime) {
driver.get(URL);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(waitime, TimeUnit.SECONDS);}
public class Homepage_mouseover extends baseTest {
Homepage_purchase HomePurchase;
@BeforeClass
public void test() {
Homepage_mouseover ob=new Homepage_mouseover();
ob.browserLaunch("chrome");
ob.Url_selection("http://www.globalsqa.com/", 60);
}
@Test
public void Test1() throws Exception {
HomePurchase=new Homepage_purchase(driver);
System.out.println("1111");
HomePurchase.Purchaseform_1();
System.out.println("2222");
}
失败:位于的Test1 java.lang.NullPointerException
org.openqa.selenium.interactions.Actions.(Actions.java:44)位于
UI\u Webelements\u Homescreen.Homepage\u purchase.Purchaseform\u 1(Homepage\u purchase.java:28)
位于TestPackages.Homepage\u mouseover.Test1(Homepage\u mouseover.java:25)
位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
invoke(NativeMethodAccessorImpl.java:62)
您正在尝试在驱动程序之前实例化页面对象:
Homepage_mouseover ob=new Homepage_mouseover();
ob.browserLaunch("chrome");
ob.Url_selection("http://www.globalsqa.com/", 60);
将第一行移到第三行,并将驱动程序作为参数传递
ob.browserLaunch("chrome");
ob.Url_selection("http://www.globalsqa.com/", 60);
Homepage_mouseover ob=new Homepage_mouseover(driver);
我不知道为什么编译器没有捕捉到页面对象调用缺少驱动程序参数
ob.browserLaunch("chrome");
ob.Url_selection("http://www.globalsqa.com/", 60);
Homepage_mouseover ob=new Homepage_mouseover(driver);
另外,还有一个警告:如果您当前使用的是Selenium和Chrome版本,最大化将失败-搜索正确的方法以使用选项最大化。我尝试了下面的方法。直接调用基类方法而不创建对象…现在工作正常
@BeforeClass
public void test() {
browserLaunch("chrome");
Url_selection("http://www.globalsqa.com/", 60);
我试着像下面这样。直接调用基类方法而不创建对象…现在工作正常@课前公开无效测试(){browserLaunch(“chrome”);Url_选择(“,60);