亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

[selenium webdriver Java]使用自定義條件同步

系統(tǒng) 1760 0

Selenium WebDriver可以結(jié)合ExpectedCondition類來定義自己期望的條件

創(chuàng)建一個新的ExpectedCondition接口,必須實現(xiàn)apply方法

?

等待元素出現(xiàn)

        
           1
        
        
          public
        
        
          void
        
        
           testWithImplicitWait(){


        
        
           2
        
             System.setProperty("webdriver.chrome.driver", "chromedriver.exe"
        
          );


        
        
           3
        
             WebDriver driver = 
        
          new
        
        
           ChromeDriver();


        
        
           4
        
             driver.get("http://map.baidu.com"
        
          );


        
        
           5
        
        
           6
        
        
          //
        
        
          點擊展開當前城市
        
        
           7
        
                 WebElement curCity = driver.findElement(By.id("curCity"
        
          ));


        
        
           8
        
        
              curCity.click();


        
        
           9
        
        
          10
        
        
          //
        
        
          設置等待時間10秒
        
        
          11
        
             WebDriverWait wait = 
        
          new
        
         WebDriverWait(driver,10
        
          );


        
        
          12
        
        
          //
        
        
          創(chuàng)建一個新的ExpecctedCondition接口,就必須實現(xiàn)apply方法
        
        
          13
        
             WebElement message =
        
           wait.until(


        
        
          14
        
        
          new
        
         ExpectedCondition<WebElement>
        
          (){


        
        
          15
        
        
          public
        
        
           WebElement apply(WebDriver d){


        
        
          16
        
        
          return
        
         d.findElement(By.id("selCityHotCityId"
        
          ));


        
        
          17
        
        
                          }


        
        
          18
        
        
                      }


        
        
          19
        
        
                      );


        
        
          20
        
        
          21
        
        
                  driver.quit();


        
        
          22
        
             }    
      
示例代碼

?

等待元素屬性值改變

基于某些事件的操作后,元素的屬性值可能會改變。例如,一個不可輸入的文本框變?yōu)榭奢斎霠顟B(tài)。自定義的等待可以在元素的屬性上實現(xiàn)。

在這個例子中,ExpectedCondition類將等待返回Boolean值

?

      
        1
      
       (
      
        new
      
       WebDriverWait(driver, 10).util(
      
        new
      
       ExpectedCondition<Boolean>
      
        (){


      
      
        2
      
      
        public
      
      
         Boolean apply(WebDriver d){


      
      
        3
      
      
        return
      
       d.findElement(By.id("username"
      
        )).


      
      
        4
      
       getAttribute("readonly").contains("true"
      
        );  


      
      
        5
      
      
            }


      
      
        6
      
       }));
    

?

等待元素變?yōu)榭梢?

開發(fā)人員會隱藏或是在一系列操作后顯示某元素。指定的元素一開始已經(jīng)存在于DOM中,但是為隱藏狀態(tài),當用戶經(jīng)過指定的操作后變?yōu)榭梢姟D敲催@樣的自定義期望條件應該如下:

      
        1
      
       (
      
        new
      
       WebDriverWait(driver, 10).util(
      
        new
      
       ExpectedCondition<Boolean>
      
        (){


      
      
        2
      
      
        public
      
      
         Boolean apply(WebDriver d){


      
      
        3
      
      
        return
      
       d.findElement(By.id("xxx"
      
        )).isDisplayed();  


      
      
        4
      
      
            }


      
      
        5
      
       }));
    

?等待DOM事件

自定義的等待可以通過執(zhí)行一段javascript代碼并檢查返回值來完成

      
        1
      
       (
      
        new
      
       WebDriverWait(driver,10)).until(
      
        new
      
       ExpectedCondition<Boolean>
      
        (){


      
      
        2
      
      
        public
      
      
         Boolean apply(WebDriver d){


      
      
        3
      
       JavascriptExecutor js =
      
         (JavascriptExecutor) d;


      
      
        4
      
      
        return
      
       (Boolean)js.executeScript("return jQuery.active == 0"
      
        );


      
      
        5
      
      
        }


      
      
        6
      
       });
    

?

[selenium webdriver Java]使用自定義條件同步測試


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色偷偷88888欧美精品久久久 | 国产成人亚洲综合无 | 狠色狠狠色狠狠狠色综合久久 | 久久精品国产精品青草不卡 | 四虎影院久久 | 欧美777精品久久久久网 | 日韩一级视频免费观看 | 亚洲精品一级一区二区三区 | 97激情| 免费一级毛片无毒不卡 | 在线免费小视频 | 精品夜夜春夜夜爽久久 | 久草亚洲视频 | 色婷婷中文字幕 | 国内精品久久久久久久久久久久 | 视频在线亚洲 | 免费观看黄色网 | 伊人.com| 狠狠色噜噜 | 久久久久综合 | 国产热久久精 | 国产成人亚综合91精品首页 | 日日爽 | 天天躁狠狠躁夜夜躁 | 日韩在线观看一区二区三区 | 亚洲mv在线观看 | 久草在现 | 天啪天干在线视频 | 欧美高清免费精品国产自 | 亚洲欧洲日产国码二区首页 | 欧美成人免费mv在线播放 | 精品新一区二区三区四区 | 国产91九色在线播放 | 四虎院影永久在线观看 | 91爱爱视频| 天海冀一二三区 | 在线观看日本中文字幕 | 四虎影院免费 | 一区二区日韩 | 99久久国产综合精品女不卡 | 亚洲欧美日韩国产精品 |