Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Appium中使用Pagefactory时获取NullpointerException错误_Java_Selenium_Selenium Webdriver_Appium_Appium Android - Fatal编程技术网

Java 在Appium中使用Pagefactory时获取NullpointerException错误

Java 在Appium中使用Pagefactory时获取NullpointerException错误,java,selenium,selenium-webdriver,appium,appium-android,Java,Selenium,Selenium Webdriver,Appium,Appium Android,我是阿皮姆的新手。我试图使用Pagefactory,但它给出了NullPointerException。我不知道如何使用pagefactory初始化对象。你的一点帮助将是可贵的。 这是我的密码: import java.net.MalformedURLException; import java.util.concurrent.TimeUnit; import org.openqa.selenium.*; import org.openqa.selenium.interactions.Actio

我是阿皮姆的新手。我试图使用Pagefactory,但它给出了NullPointerException。我不知道如何使用pagefactory初始化对象。你的一点帮助将是可贵的。 这是我的密码:

import java.net.MalformedURLException;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.pagefactory.AndroidFindBy;
import io.appium.java_client.pagefactory.AppiumFieldDecorator;



public class Login extends Base 
{   

    AndroidDriver<AndroidElement> driver;
    Actions action;
    public Login()
    {
        PageFactory.initElements(new AppiumFieldDecorator(driver), this);
        
    }
    
    @AndroidFindBy(xpath="//android.view.View[@index='7']")
    public WebElement signOnWelcome;
    @AndroidFindBy(xpath="//android.view.View[@index='6']")
    public WebElement  SignIn;
    @AndroidFindBy(xpath="//android.widget.ImageView[@index='2']")
    public WebElement Profile;
    
    
       public void signIn(String em, String pw) throws InterruptedException, MalformedURLException 
       {  
           Login l= new Login();
        PageFactory.initElements(driver, Login.class);
        driver = Capabilities();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        l.signOnWelcome.click();
        //driver.findElement(By.xpath("//android.view.View[@index='7']")).click();
        action = new Actions(driver);
        WebElement email = driver.findElement(By.xpath("//android.widget.EditText[@index='2']"));
        l.email.click();
        Thread.sleep(1000);
        action.sendKeys(em).perform();
        WebElement pass = driver.findElement(By.xpath("//android.widget.EditText[@index='4']"));
        pass.click();
        action.sendKeys(pw).perform();
        Thread.sleep(1000);
        l.SignIn.click();
        l.Profile.click();
       }
}
import java.net.MalformedURLException;
导入java.util.concurrent.TimeUnit;
导入org.openqa.selenium.*;
导入org.openqa.selenium.interactions.Actions;
导入org.openqa.selenium.support.FindBy;
导入org.openqa.selenium.support.PageFactory;
导入io.appium.java_client.AppiumDriver;
导入io.appium.java_client.android.AndroidDriver;
导入io.appium.java_client.android.AndroidElement;
导入io.appium.java_client.pagefactory.AndroidFindBy;
导入io.appium.java_client.pagefactory.AppiumFieldDecorator;
公共类登录扩展了基本类
{   
机器人驱动;
行动;
公共登录()
{
initElements(新的AppiumFieldDecorator(驱动程序),this);
}
@AndroidFindBy(xpath=“//android.view.view[@index='7']”)
公共WebElement signOnWelcome;
@AndroidFindBy(xpath=“//android.view.view[@index='6']”)
公共网页元素登录;
@AndroidFindBy(xpath=“//android.widget.ImageView[@index='2']”)
公共网页元素简介;
public void signIn(字符串em,字符串pw)引发InterruptedException,MalformedUrlexException
{  
Login l=新登录名();
initElements(驱动程序,Login.class);
驱动程序=功能();
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
l、 signOnWelcome.click();
//findElement(By.xpath(“//android.view.view[@index='7']))。单击();
动作=新动作(驱动程序);
WebElement email=driver.findElement(By.xpath(“//android.widget.EditText[@index='2']);
l、 email.click();
睡眠(1000);
action.sendKeys(em.perform();
WebElement pass=driver.findElement(By.xpath(“//android.widget.EditText[@index='4']);
pass.click();
action.sendKeys(pw.perform();
睡眠(1000);
l、 sign.click();
l、 Profile.click();
}
}
我正在SignIn方法的Login中创建对象