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");
}
}
driver 인수를 run() 메서드에 전달하려고 시도하지만 인수가 필요합니까? 어디에서 브라우저 1과 브라우저 2를 통과합니까?각 새 스레드에 FirefoxDriver의 새 인스턴스를 전달하는 방법은 무엇입니까?
내 최종 목표는 동일한 테스트를 실행하는 firefox 브라우저의 여러 인스턴스를 갖는 것입니다.
첫 번째 스레드의 브라우저가 열리지 만 아무런 변화가 없습니다. 닫고 두 번째 스레드의 브라우저가 열리고 모든 작업이 정상적으로 수행됩니다. 두 인스턴스를 동시에 실행할 수 있습니까? – KJW
아, 각 인스턴스에 대해 별도의 프로파일을 제공하여 문제를 해결했습니다. – KJW