0
我最近开始了一项新的测试工作,而且我的前任使用watin运行了一个自动化套件,我之前没有经验过,因此如果我无法给您提供支持,我很抱歉相关信息 当我运行套件它(对IE 8.0.7601.17514)似乎被卡住时,曾经有一个确认对话框,下一步就是按OKWatin无法识别确认对话框确定按钮
//Enter invalid data
var confirmDialog = new ConfirmDialogHandler();
IE.DialogWatcher.Add(confirmDialog);
using (new UseDialogOnce(IE.DialogWatcher, confirmDialog))
{
//Click to reset data entry
IE.Page<DataEntryPage>().ResetVoucherButton.ClickNoWait();
confirmDialog.WaitUntilExists(40000);
confirmDialog.OKButton.Click();
WaitForPostBackToComplete.WaitForAsyncPostBackToComplete(IE);
}
它只是挂在那儿,等待超时期限过去了。
我认为这个问题是我的IEStaticInstanceHelper.cs文件,但它似乎是正确的
using System.Threading;
using WatiN.Core;
namespace WatiN
{
public class IEStaticInstanceHelper
{
private IE _ie;
private int _ieThread;
private string _ieHwnd;
public IE IE
{
get
{
var currentThreadId = GetCurrentThreadId();
if (currentThreadId != _ieThread)
{
_ie = IE.AttachTo<IE>(Find.By("hwnd", _ieHwnd));
_ieThread = currentThreadId;
}
return _ie;
}
set
{
_ie = value;
_ieHwnd = _ie.hWnd.ToString();
_ieThread = GetCurrentThreadId();
}
}
private int GetCurrentThreadId()
{
return Thread.CurrentThread.GetHashCode();
}
}
}
我最近重建我的电脑(以及我的系统管理员所做的那样),这是不是一个问题之前,被重建,但我想不出什么可以改变
任何帮助,将不胜感激
编辑
我实际上并不需要更改代码,我只需更新我的Watin版本,因为它无法处理早期的IE 8对话框和较新的对话框之间存在的差异。
嗨,我实际上不必更改代码,我只需更新我的Watin版本,因为它无法处理早期IE 8对话框和较新版本之间存在的差异。不过谢谢 –