Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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_Selenium Webdriver - Fatal编程技术网

Java 我以前问过这个问题,但从未解决过。回应说主方法没有定义,即使它已经定义了?

Java 我以前问过这个问题,但从未解决过。回应说主方法没有定义,即使它已经定义了?,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,主包名为pageObjects。主类名为HomePage。它为我正在测试的页面中的两个元素返回两个对象。我正在测试网站主页的两个元素,即登录按钮和图像按钮。这是一个SeleniumWebDriver页面对象框架。我正在学习Java和Selenium,所以看起来可能很傻:)但我想知道为什么会得到这样的回答:“错误:在类pageObjects.HomePage中找不到Main方法,请将Main方法定义为: 公共静态void main(字符串[]args) 或者JavaFX应用程序类必须扩展JavaF

主包名为pageObjects。主类名为HomePage。它为我正在测试的页面中的两个元素返回两个对象。我正在测试网站主页的两个元素,即登录按钮和图像按钮。这是一个SeleniumWebDriver页面对象框架。我正在学习Java和Selenium,所以看起来可能很傻:)但我想知道为什么会得到这样的回答:“错误:在类pageObjects.HomePage中找不到Main方法,请将Main方法定义为: 公共静态void main(字符串[]args) 或者JavaFX应用程序类必须扩展JavaFX.application.application "

我得到的答复是:

Error: Main method not found in class pageObjects.HomePage, please define the main method as:
   public static void main(String[] args)
   or a JavaFX application class must extend javafx.application.Application

代码的用途:它应该为页面中的两个元素创建两个对象,稍后我将在包的单独代码中使用这两个对象。所有这些都将成为我在学习Java时练习的Selenium Page对象模型框架的一部分。

看来main方法没有问题。。我会选择clean一次,然后将这个类重命名为其他名称,比如HomePage\u OldCopy,并在创建时选择main以与HomePage相同的名称创建新类,然后重试

您可能会面临两个问题,一个是驱动程序为空。一旦启动了这个驱动程序,第二个问题是您可能找不到这些web元素,因为并没有get方法来导航您可以找到这些元素的URL

public class HomePage {

public static WebElement element;
public static WebDriver driver;

public static void main(String[] args){

HomePage hp = new HomePage();
driver = new FirefoxDriver();

//please you get to navigate any URL where you can find below web elements

hp.SignInButton(driver).click(); //clicking on SIgn In web element
hp.ImageButton(driver).click(); //clicking on images link/web element
System.out.println("Yup");
}

public WebElement SignInButton(WebDriver driver){

element = driver.findElement(By.linkText("Sign In"));
System.out.println("Yeua");
return element;

}

public WebElement ImageButton(WebDriver driver){

return element = driver.findElement(By.linkText("Images"));

}

}
谢谢,,
穆拉里

另一个问题还存在吗?是的。那就别再重复了,想引起大家的注意。类似这样的重复项将被关闭。请首先修复明显的错误。例如,您正在调用两个方法,传入“driver”。在这两种方法中,您都可以访问驱动程序而不检查null,但您从未实例化过驱动程序,因此它肯定会失败。您是否可以先尝试正确运行HelloWorld程序并成功运行。这样就可以解决编译问题。如果您使用eclipse,则可以选择执行项目清理。请执行此操作并查看
public class HomePage {

public static WebElement element;
public static WebDriver driver;

public static void main(String[] args){

HomePage hp = new HomePage();
driver = new FirefoxDriver();

//please you get to navigate any URL where you can find below web elements

hp.SignInButton(driver).click(); //clicking on SIgn In web element
hp.ImageButton(driver).click(); //clicking on images link/web element
System.out.println("Yup");
}

public WebElement SignInButton(WebDriver driver){

element = driver.findElement(By.linkText("Sign In"));
System.out.println("Yeua");
return element;

}

public WebElement ImageButton(WebDriver driver){

return element = driver.findElement(By.linkText("Images"));

}

}