当前位置: 首页 > 知识库问答 >
问题:

如何将WebDriver传递给另一个类

陈坚
2023-03-14

我是selenium初学者,只是想把webDriver传递给另一个类,但没有成功。程序应该打开浏览器(“Google”)并在主类中键入一些单词,在第二个类中应该按下“Google”按钮。

以下是我的主要课程:

public class MainClass {

public WebDriver driver;


@Test
public void main()

{
    
    System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Selenium\\chromedriver.exe");
    driver = new ChromeDriver();
    driver.get("https://www.google.co.il/");
    driver.findElement(By.name("q")).sendKeys("walla");
     
}

这是我想从主驱动程序中使用的类。

public class FirstClass extends MainClass{

@Test
public void printOnScreen()

{
    
    
    driver.findElement(By.name("btnK")).click();
    
}

当我运行它时,它对我说:

传递:main失败:printOnScreen java.lang.NullPointerException

我做错了什么?谢谢高级米隆

共有1个答案

苏畅
2023-03-14

您的变量需要在顶部初始化,然后您可以在两个方法中访问它。

public class MainClass {

static{
    System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Selenium\\chromedriver.exe");

}

public WebDriver driver = new ChromeDriver();


@Test
public void main()

{
    driver.get("https://www.google.co.il/");
    driver.findElement(By.name("q")).sendKeys("walla");
     
}
 类似资料:
  • 问题内容: 我想将一个类变量传递给另一个类,并使其成为该类的类变量。在以下情况下我该怎么做? 问题答案: 很难理解您正在问的问题,但这是一个可能的答案: 使B类成为A的子类: 如果重新声明为,则会出现一种情况,其中存在一个可以称为或的属性。(或在任一或刚刚…甚至作为或地方,并有类型和分别。) 如果您无法在和(或,以及一些包含声明的第三类)之间创建直接或子类型关系,那么您很不走运。他们无法共享声明。

  • 我试图找出如何通知另一个组件状态更改。假设我有3个组件——pp.jsx、Header.jsx和SidebarPush.jsx我只是想用onclicka切换一个类。 因此,标题。jsx文件将有2个按钮,点击时将切换状态为真或假。另外两个组件是应用程序。jsx和Header。jsx需要了解这些状态的变化,以便在这些状态发生变化时可以切换类。

  • 问题内容: 我有两节课。和。 我有一个要在中使用的功能。我当时正在考虑将的引用传递给的构造函数,然后再调用该函数。 那行得通吗?有人可以给我举个例子吗? 提前致谢! 问题答案: 是的,它将起作用。这是一种不错的方法。您只需传递A类的 实例 : 然后您可以拥有:

  • 所以,我试图用discord js和sqlite3做一件事,但在过去的几个小时里,我一直在讨论这个问题,我仍然不知道如何解决它。 因此,我试图获取仅在中可用的数据,但我不知道如何将其传递出去,以便返回预期值。我已经尝试过使用全局变量,把它放在更大的范围内,但我仍然不知道如何做到这一点。 对不起,如果我弄糊涂了,我不习惯一直问问题。 编辑:应该说我正在使用NPMSqlite3模块。https://w

  • 问题内容: 我刚开始使用快速语言,并且知道这个问题是重复的。我发现了几个类似的问题和答案,但我无法弄清这个问题。 我想将ScandString变量的值从ScanViewController传递给ResultViewController。 ScanViewcontroller如下: ResultViewController如下: println(detectedString)没有给我任何结果。问题是