海神


用WatiN测试网站

2009-11-26

在网页里面用WatiN总是报“The CurrentThread needs to have it's ApartmentState set to ApartmentState.STA to be able to automate Internet Explorer.”错误,解决办法就是在Page标记中加入:AspCompat="true"。

一个操纵JS弹出框点击的例子:

IE ie = new IE(“http://………”);
ie.Button(Find.ByClass("edit style01 forcountry").And(Find.ByValue("Save"))).ClickNoWait();
WatiN.Core.DialogHandlers.ConfirmDialogHandler approveConfirmDialog = new WatiN.Core.DialogHandlers.ConfirmDialogHandler();
using (new WatiN.Core.DialogHandlers.UseDialogOnce(ie.DialogWatcher, approveConfirmDialog))
{
    approveConfirmDialog.WaitUntilExists(10);
    approveConfirmDialog.OKButton.Click();
}
ie.WaitForComplete();

 

比较重要的是按钮要用ClickNoWait()方法,如果用Click方法,调用测试的页面会一直没有反应。还有DialogHandler的WaitUntilExists方法,里面要有参数,表示等待的时间。


blog comments powered by Disqus