confirmダイアログのキャンセルが押せない病


そんなwatijのアンチクショウを触っておるワケですが、再びダイアログ系で躓きました><

まず躓いている最中のテストコード。

@Test
public void test_2_confirmのCancelを押す() {
	class Clicker implements Runnable {
		IE ie;
		public Clicker(IE ie) {
			this.ie = ie;
		}
		public void run() {
			try {
				this.ie.button(SymbolFactory.id, "btn2").click();
			} catch (Exception e) {
				;
			}
		}
	}
	try {
		this.ie.start(TEST_PAGE);
		Thread t = new Thread(new Clicker(this.ie));
		t.start();
		Thread.sleep(500L);
		t = null;
		Thread.sleep(4000L);
//		this.ie.confirmDialog().cancel();
//		this.ie.sendKeys(this.ie.confirmDialog().title(), "	 ");
	} catch (Exception e) {
		e.printStackTrace();
		fail();
	}
}


btn2というidを振られたボタンは、confirmダイアログを表示させる為のトリガーにしています。


で、主のスレッドではないスレッドにこのボタンを押させ、主スレッドで表示されているであろうconfirmダイアログを押させるのですが、[this.ie.confirmDialog().cancel();]を用いると

watij.time.TimeException: Timeout exceeded. Reason= Could not find Dialog with windowClassName = Button windowText=Cancel

とエラーログが図れます><([this.ie.confirmDialog().ok();]だと問題なく使えます><)


続いて、[this.ie.sendKeys(this.ie.confirmDialog().title(), " ");](第二引数はタブと半角スペース)を用いると、confirmダイアログから親画面にフォーカスが移る、というありえない挙動に><


けっこう痛いトコロで挙動が不明瞭、というのはツライですね。今週暇をぬって何とかここを解決させられると良いのですが。。。