如何在Webdriver 2/3中使用selenium.waitForCondition(script,timeout)

问题描述 投票:0回答:1

我们使用Selenium-RC的框架,现在我们将它转​​换为Webdriver。我试图搜索下面的替代代码,但找不到。

由于代码在框架中被使用n次,因此优先修复

**selenium.waitForCondition(script, timeout);**

//完整的代码如下

public void waitForAjaxToComplete() {
        String waitCondition = "";
        for (JsToolkit kit : JsToolkit.values()) {
            waitCondition += waitCondition.equalsIgnoreCase("") ? kit.waitCondition() : " && " + kit.waitCondition();
        }
        waitCondition += " && (null == selenium.browserbot.getCurrentWindow().event)";
        try {
            selenium.waitForCondition(waitCondition, getDefaultPageWaitTime());
        } catch (Exception e) {
            logger.warn(e.getMessage());
        }
    }

// JS工具包是一个ENUM

public enum JsToolkit {
    DOJO("dojo", "dojo.io.XMLHTTPTransport.inFlight.length==0"), EXTJS("Ext",
            "Ext.Ajax.isLoading()==false"), JQUERY("jQuery", "jQuery.active==0"), YUI("YAHOO",
                    "YAHOO.util.Connect.isCallInProgress==false"), PHPJS("PHP_JS",
                            "PHP_JS.resourceIdCounter==0"), PROTOTYPE("Ajax", "Ajax.activeRequestCount==0");

    String identifier;
    String expr;

    private JsToolkit(String identifier, String expr) {
        this.identifier = identifier;
        this.expr = expr;
    }



    public String waitCondition() {
        return "return " + getExpr() +";";
    }

    public static String globalWaitCondition() {
        StringBuilder sb = new StringBuilder("return ");
        for(JsToolkit toolkit: JsToolkit.values()){
            sb.append(" ("+ toolkit.getExpr() + ") &&");
        }
        sb.append(";");
        return sb.toString().replace(" &&;", ";");
    }

    public String getExpr(){
        return "((typeof "+ identifier +" === 'undefined') || (" + expr + "))";
    }
}

Selenium RC ---> selenium.waitForCondition(script,timeout); Selenium WebDriver ----> ????

selenium selenium-webdriver selenium-rc
1个回答
0
投票

我不确定我理解你的问题。

您是否在寻找使用Selenium WebDriver进行隐式和显式等待的方法?

如果是这样,也许你可以查看一下吗? Selenium WebDriver Wait Commands

© www.soinside.com 2019 - 2024. All rights reserved.