gpt4 book ai didi

java - 如何将 FirefoxDriver 的新实例传递给每个新线程?

转载 作者:行者123 更新时间:2023-12-01 16:02:16 24 4
gpt4 key购买 nike

public class Tester implements Runnable {
public Tester() {
// Init WebDriver
FirefoxProfile firefoxProfile = new FirefoxProfile();
WebDriver browser1 = new FirefoxDriver(firefoxProfile);
WebDriver browser2 = new FirefoxDriver(firefoxProfile);
}

public static void main(String[] args) {

Runnable tester = new Tester();
Thread worker1 = new Thread(tester);
Thread worker2 = new Thread(tester);

worker1.start();
worker2.start();
}

public void run(WebDriver driver) {
login(driver, "username", "password", "http://someurl.com/login");
}

}

我试图将驱动程序参数传递给 run() 方法,但它需要参数吗?我在哪里传递 browser1 和 browser 2 ?

我的最终目标是让多个 Firefox 浏览器实例运行相同的测试。

最佳答案

线程中的

run()方法没有任何参数。

您可以在线程的实现上使用“setters”来完成此操作。这样你的代码应该看起来像 -

   Tester tester = new Tester();
tester.setBrowser1(new FirefoxDriver( ....
tester.setBrowser2(new FirefoxDriver( ....
Thread worker2 = new Thread(tester);

您的测试器将有 browser1 和 browser2 作为实例变量。或者您也可以通过Tester的构造函数设置browser1和browser2。

关于java - 如何将 FirefoxDriver 的新实例传递给每个新线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3528536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com