繁体   English   中英

自定义等待硒用于angular7应用

[英]Custom wait for selenium for angular7 application

我们正在使用Selenium Webdriver自动化Angular 7应用程序。 我需要使用Javascript或JQuery的自定义等待,它将等待页面呈现并等待$ http响应完成。

我已经尝试过明确的等待,但它们不工作,因为元素加载到页面上但仍然加载并尝试了Webdriver,但这也失败了。

这些可能对您有所帮助。 在访问任何元素之前,检查是否完成了Jquery / Angular。

  public static boolean isJQueryDone() {
            Object jsResponse = tryJavascript("return jQuery.active;");
            if (jsResponse instanceof Long) {
                return ((Long) jsResponse) == 0;
            } else if (jsResponse instanceof String) {
                String response = (String) jsResponse;
                return (response.startsWith("{\"hCode\"") || response.isEmpty());
            } else {
                return true;
            }
        }

        public static boolean isAngularDone() {
            Object jsResponse = tryJavascript("return window.getAllAngularTestabilities().filter(x=>!x.isStable()).length;");
            if (jsResponse instanceof Long) {
                return ((Long) jsResponse) == 0;
            } else if (jsResponse instanceof String) {
                String response = (String) jsResponse;
                return response.isEmpty();
            } else {
                return true;
            }
        }
        public static synchronized Object tryJavascript(String script, Object... args) {
            try {
                return execJavascript(script, args);
            } catch (Exception ignore) {
                return "";
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM