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 硒在聚甲醛中的应用_Java_Selenium_Testng_Abstract Class - Fatal编程技术网

Java 硒在聚甲醛中的应用

Java 硒在聚甲醛中的应用,java,selenium,testng,abstract-class,Java,Selenium,Testng,Abstract Class,我一直在为Selenium实践POM设计方法(使用数据驱动和testNg框架) 我最近看到一个selenium自动化开发人员使用POM,脚本中既没有@FindBy也没有PageFactory 我不明白的是,在selenium脚本中使用“By”如下: By element_name = By.id("String"); “By”是一个抽象类(如selenium--JavaAPI文档中所述),id、classname、name、xpath等方法都是静态方法 基于这些事实,抽象类和静态方法是如何直接

我一直在为Selenium实践POM设计方法(使用数据驱动和testNg框架)

我最近看到一个selenium自动化开发人员使用POM,脚本中既没有@FindBy也没有PageFactory

我不明白的是,在selenium脚本中使用“By”如下:

By element_name = By.id("String");
“By”是一个抽象类(如selenium--JavaAPI文档中所述),id、classname、name、xpath等方法都是静态方法

基于这些事实,抽象类和静态方法是如何直接实现的

下面是我正在谈论的代码

public TrialLoginPage(WebDriver driver, Properties prop) {

     super(driver, prop);

    }

    By name = By.name("username");
    By password = By.name("password");
    By submit = By.xpath("//input[@type='submit']");

    public String getTitle() {

        String title = driver.getTitle();
        return title;
    }

    public WebElement setUserName() {

        WebElement element = driver.findElement(name);

        return element;
    }

    public WebElement setPassword() {

        WebElement element = driver.findElement(password);
        return element;
    }

    public WebElement setSubmit() {

        WebElement login = driver.findElement(submit);
        return login;
    }

    public String driverStatus() {

        String str = driver.toString();
        return str;
    }   
}
是,它可以有带实现的方法,抽象的唯一限制是不能实例化,例如调用
newby()

它可能包括也可能不包括抽象方法。抽象类不能被实例化

您正在调用
name
方法,该方法不是通过
对象返回


感谢朋友们帮助我理解这个查询@Vijayrushi如果答案有帮助,您可以接受,请参见
public static By name(java.lang.String name)