早くも壁><
Watijでテストコードからブラウザを操作する事で、cfneoでも提唱した「コード」と「仕様」を密接に紐付けるというアプローチが実現可能かどうかを現在あれこれ試し中です。
が、
INFO 2008-09-23 02:50:03,957 [BrowserEventLoop] The com.jniwrapper.win32.shdocvw.DWebBrowserEvents2 interface was not registered for com.jniwrapper.win32.shdocvw.server.DWebBrowserEvents2Server, because com.jniwrapper.win32.shdocvw.server.DWebBrowserEvents2VTBL class was not found.
というアラートっぽいログが出る以外、不自然なところが何一つ無いまま、JavaScriptのアラートがWatijから操作出来ないです><
試してみたのはこんなコード。
@Test public void testAlertDialog() { try { IE ie = new IE(); ie.start("http://localhost:8500/examples/forwatij/test1.cfm"); assertEquals("Alert test[for Watij]", ie.title()); ie.button(0).click(); Thread.sleep(1000L); new Thread(new Runnable() { public void run() { try { IE ie = new IE(); System.out.println("exists()=" + ie.alertDialog().exists()); ie.alertDialog().ok(); } catch (Exception e) { e.printStackTrace(); } } }).start(); ie.sendKeys ("Microsoft Internet Explorer", " "); ie.close(); } catch (Exception e) { e.printStackTrace(); fail(); } }
http://watij.com/wiki:faqをみようみまねしてみただけなのですが、ie.button(0).click();の実施直後、JavaScriptによるアラートがブラウザ上に現れ、OKを押して貰えるのを待ちます。が、このコードではOKを押せませんでした。つまり、ずーっとアラートが出たままです。
むむ。