내가 제대로 이해하면 두 번째는 쿠폰 코드를 받고 완료 될 때까지, 당신의 문제는 첫째 webdriver
대기를하고 있었다.
제 생각에는 스레드를 사용하고 첫 번째 스레드가 두 번째 스레드가 끝날 때까지 기다리는 것이 좋습니다.
여기에 Thread
클래스가 있습니다. 그 방법은 run()
방법에 해당됩니다.
class ThreadDemo extends Thread {
private Thread t;
private String threadName;
private String coupon;
ThreadDemo(String name){
threadName = name;
System.out.println("Creating " + threadName);
}
public void run() {
WebDriver driver2 = new FirefoxDriver();
//Operations on website
coupon="Something";
}
public String getCoupon(){
if (coupon==null){
return "";
}else{
return coupon;
}
}
public void start(){
System.out.println("Starting " + threadName);
if (t == null){
t = new Thread (this, threadName);
t.start();
}
}
}
이제 그냥 전화 : 그것은 밖으로 어떻게 작동하는지
ThreadDemo T1 = new ThreadDemo("Coupon-code");
T1.start();
String coupon = "";
while(coupon.equals("")) //<-This can be tweaked in
//order to consume less memory and be faster
coupon=T1.getCoupon();
이 말해!
시나리오를 모르지만 스크립트 1을 시작하기 전에 쿠폰을 만들어 값을 저장할 수 있습니까? 그런 다음 적절한 시간에 쿠폰 값을 삽입하십시오. – JeffC