用WatiN测试网站

在网页里面用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方法,里面要有参数,表示等待的时间。

你可能感兴趣的:(测试)