Internet explorer WatiN 2.0决赛中IE新功能发布

Internet explorer WatiN 2.0决赛中IE新功能发布,internet-explorer,release,watin,Internet Explorer,Release,Watin,在WatiN的最终版本2.0中,宣布了Internet Explorer的新功能: “WatiN现在将等待IE和 要访问的DOM文档 “交互式”或“准备就绪”状态 避免不必要的超时” 事实上,在我的项目中,当WatiN只等待“就绪”状态(据我所知,它是完全加载网页)时,我们需要对现有测试使用旧功能。目前,许多测试都失败了 主要的问题是,WatiN尝试在某些操作(例如,单击按钮)后查找并操作尚未加载的元素 是否可以将新版本的WatiN转换为旧的工作原理 我想我也有同样的问题。尽管如此,新Watin

在WatiN的最终版本2.0中,宣布了Internet Explorer的新功能:

“WatiN现在将等待IE和 要访问的DOM文档 “交互式”或“准备就绪”状态 避免不必要的超时”

事实上,在我的项目中,当WatiN只等待“就绪”状态(据我所知,它是完全加载网页)时,我们需要对现有测试使用旧功能。目前,许多测试都失败了

主要的问题是,WatiN尝试在某些操作(例如,单击按钮)后查找并操作尚未加载的元素


是否可以将新版本的WatiN转换为旧的工作原理

我想我也有同样的问题。尽管如此,新Watin的速度提升还是很棒

加载页面并执行如下操作

foreach(TextField t in browser.TextFields) {
t.setAttribute("value","test");
}
while(browser.text=="") {
System.Thread.Thread.Sleep(500);
}
给我一个系统未经授权的异常,新Watin大约1/10次。当这种情况发生时,浏览器。text返回
“”

所以我想玩一些类似的东西

foreach(TextField t in browser.TextFields) {
t.setAttribute("value","test");
}
while(browser.text=="") {
System.Thread.Thread.Sleep(500);
}

(以防页面实际上没有文本时出现中断)。

我相信我也遇到了同样的问题。尽管如此,新Watin的速度提升还是很棒

加载页面并执行如下操作

foreach(TextField t in browser.TextFields) {
t.setAttribute("value","test");
}
while(browser.text=="") {
System.Thread.Thread.Sleep(500);
}
给我一个系统未经授权的异常,新Watin大约1/10次。当这种情况发生时,浏览器。text返回
“”

所以我想玩一些类似的东西

foreach(TextField t in browser.TextFields) {
t.setAttribute("value","test");
}
while(browser.text=="") {
System.Thread.Thread.Sleep(500);
}

(如果页面实际上没有文本,请使用中断符)。

尝试此扩展方法

public static void WaitForReady(this Browser browser)
{
    int timeWaitedInMilliseconds = 0;
    var maxWaitTimeInMilliseconds = Settings.WaitForCompleteTimeOut * 1000;

    while (browser.Eval("document.readyState") != "complete" && timeWaitedInMilliseconds < maxWaitTimeInMilliseconds)
    {
        Thread.Sleep(Settings.SleepTime);
        timeWaitedInMilliseconds += Settings.SleepTime;
    }
}
public static void WaitForReady(此浏览器)
{
int timewaitedinms=0;
var maxwaittimeinmillizes=Settings.WaitForCompleteTimeOut*1000;
while(browser.Eval(“document.readyState”)!=“complete”和&timewaitedinmillides
尝试此扩展方法

public static void WaitForReady(this Browser browser)
{
    int timeWaitedInMilliseconds = 0;
    var maxWaitTimeInMilliseconds = Settings.WaitForCompleteTimeOut * 1000;

    while (browser.Eval("document.readyState") != "complete" && timeWaitedInMilliseconds < maxWaitTimeInMilliseconds)
    {
        Thread.Sleep(Settings.SleepTime);
        timeWaitedInMilliseconds += Settings.SleepTime;
    }
}
public static void WaitForReady(此浏览器)
{
int timewaitedinms=0;
var maxwaittimeinmillizes=Settings.WaitForCompleteTimeOut*1000;
while(browser.Eval(“document.readyState”)!=“complete”和&timewaitedinmillides
Hi Dmitry,能否添加一些由于此更改而失败的代码示例?我可以在下一个版本中配置此等待行为,但我也希望更好地了解您遇到的问题。关于Jeroen,dev WatiNHi Jeroen负责人,很遗憾,我无法向您提供代码示例。我们现在在版本2.0.20.0中使用了WatiN RC,它不包含此问题。我们的问题发生在页面重新加载或浏览器转到页面时。我们应用程序中的页面很大,并且包含很多标记。所以,如果您选择在WatiN的新功能和旧功能之间切换,我们将非常高兴。向您致意,DmitryHi Dmitry,您能否添加一些由于此更改而失败的代码示例?我可以在下一个版本中配置此等待行为,但我也希望更好地了解您遇到的问题。关于Jeroen,dev WatiNHi Jeroen负责人,很遗憾,我无法向您提供代码示例。我们现在在版本2.0.20.0中使用了WatiN RC,它不包含此问题。我们的问题发生在页面重新加载或浏览器转到页面时。我们应用程序中的页面很大,并且包含很多标记。所以,如果您选择在WatiN的新功能和旧功能之间切换,我们将非常高兴。致以最诚挚的问候,DmitryTanks,也遇到了此问题,目前正在测试您的解决方案。谢谢,也遇到了此问题,目前正在测试您的解决方案。