zoukankan      html  css  js  c++  java
  • xpath的不稳定性

    xpath 是根据页面的dom来查找元素的。页面上有些内容是由于ajax 动态生成的。

    针对自动化平台批量执行每次都会出现不稳定,所以动态等待每个元素加载成功。

    Wait<WebDriver> waiter = new WebDriverWait(driver, 10);
    WebElement element = waiter.until(new Function<WebDriver, WebElement>() {
            public WebElement apply(WebDriver driver) {
                return driver.findElement(By.xpath(""));
            }
        });
    但是由于刚开始时,xpath的不规范,一个xpath对应多个element .所以以上方法并不能有效的解决元素的不稳定性。
    则在加上判断当前的ajax 是否加载完成。仅针对使用ext开发的前台
    Wait<WebDriver> waiter = new WebDriverWait(driver, 10);
    WebElement element = waiter.until(new Function<WebDriver, WebElement>() {
            public WebElement apply(WebDriver driver) {
               boolean isajax = (Boolean) ((JavascriptExecutor) driver).executeScript("return Ext.Ajax.isLoading()");
               return (isajax==false); } });
    不同的开发前台检测ajax 的加载完成不一样。看具体的前台实现。可以在浏览器的控制台输入试下。
    ext 是Ext.Ajax.isLoading()
    js 是window.jQuery.active

     
  • 相关阅读:
    tree
    单向链表反转
    libev使用方法
    PowerManagerService流程分析
    Android source code compile error: “Try increasing heap size with java option '-Xmx<size>'”
    解决git合并冲突问题
    python之字典
    Django----admin管理工具
    流程控制,以及字符串
    python入门
  • 原文地址:https://www.cnblogs.com/Keep-Going-Space/p/5683920.html
Copyright © 2011-2022 走看看