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

Selenium2學習-010-WebUI自動化實戰實例-008-Se

系統 1683 0

此文主要講述用 Java 編寫 Selenium 自動化測試腳本編寫過程中,對下拉列表框 Select 的操作。

下拉列表是 Web UI 自動化測試過程中使用率非常高的,通常有兩種形式的下拉列表,一種是 Select 的下拉列表,此種操作的時候比較簡單,定位到元素后直接操作即可;還有的下拉列表是以多個 div + js + input 的形式實現,input 用于存儲選擇的項的 value 值;當然也會有其他方式實現的下拉列表。

希望能對初學 Selenium2 WebUI 自動化測試編程的親們有所幫助。若有不足之處,敬請大神指正,不勝感激!

以下為 Selenium 操作下拉列表 Select 的 Java 自動化測試腳本實例源代碼,敬請參閱!

        
           1
        
        
          package
        
        
           main.aaron.demo.droplist;


        
        
           2
        
        
           3
        
        
          import
        
        
           main.aaron.sele.core.TestCase;


        
        
           4
        
        
           5
        
        
          import
        
        
           org.openqa.selenium.By;


        
        
           6
        
        
          import
        
        
           org.openqa.selenium.WebElement;


        
        
           7
        
        
          import
        
        
           org.openqa.selenium.support.ui.Select;


        
        
           8
        
        
          import
        
        
           org.testng.annotations.Test;


        
        
           9
        
        
          10
        
        
          /**
        
        
          11
        
        
           * Selenium 操作下拉列表實例-Select


        
        
          12
        
        
           * 


        
        
          13
        
        
           * 
        
        
          @author
        
        
           Aaron.ffp


        
        
          14
        
        
           * 
        
        
          @version
        
        
           V1.0.0: autoSeleniumDemo main.aaron.demo.droplist Droplist01.java, 2015-6-16 19:03:51 Exp $


        
        
          15
        
        
          */
        
        
          16
        
        
          public
        
        
          class
        
         Droplist01 
        
          extends
        
        
           TestCase{


        
        
          17
        
        
          //
        
        
           獲取需要打開的鏈接的 URL 路徑
        
        
          18
        
        
          private
        
        
          final
        
         String baseUrl = 
        
          this
        
        .PROJECTHOME + 
        
          this
        
        .FILESEPARATOR + "source" + 


        
          19
        
        
          this
        
        .FILESEPARATOR + "html" + 
        
          this
        
        .FILESEPARATOR + "selectDemo.html"
        
          ;


        
        
          20
        
        
          21
        
        
              @Test


        
        
          22
        
        
          public
        
        
          void
        
        
           testDropList(){


        
        
          23
        
        
          this
        
        .webdriver.get(
        
          this
        
        
          .baseUrl);


        
        
          24
        
        
          25
        
        
          //
        
        
           獲取元素-下拉列表
        
        
          26
        
                 WebElement goodsTypeList = 
        
          this
        
        .webdriver.findElement(By.id("goodsType"
        
          ));


        
        
          27
        
        
          28
        
        
          //
        
        
           將元素轉換為 Select
        
        
          29
        
                 Select gtl = 
        
          new
        
        
           Select(goodsTypeList);


        
        
          30
        
        
          31
        
        
          //
        
        
           模擬用戶點擊動作展開下拉列表,也可不執行直接選擇;


        
        
          32
        
        
          //
        
        
           若是執行此步再選擇下拉列表之后無其他操作時,列表會一直存在;執行其他操作時,列表收起
        
        
          33
        
        
                  goodsTypeList.click();


        
        
          34
        
        
          35
        
        
          //
        
        
           通過列表項的 option 索引選擇,也可不執行
        
        
          36
        
                 gtl.selectByIndex(3
        
          );


        
        
          37
        
        
          38
        
        
          this
        
        .webdriver.findElement(By.id("goods"
        
          )).clear();


        
        
          39
        
        
          this
        
        .webdriver.findElement(By.id("goods")).sendKeys(
        
          this
        
        
          .selectSelected(gtl));


        
        
          40
        
        
          41
        
        
          /**
        
        
          42
        
        
                  // 通過列表項的 option 的 value 值選擇


        
        
          43
        
        
                  gtl.selectByValue("3v");


        
        
          44
        
        
          45
        
        
                  // 通過列表項的 option 的 text 值選擇


        
        
          46
        
        
                  gtl.selectByVisibleText("汽車精品");


        
        
          47
        
        
          48
        
        
                  // 遍歷列表項的所有可選項,并選擇對應的項


        
        
          49
        
        
                  for (int i = 0; i < gtl.getOptions().size(); i++) {


        
        
          50
        
        
                      gtl.getOptions().get(i).click();


        
        
          51
        
        
                  }


        
        
          52
        
        
          53
        
        
                  // 遍歷列表項的所有可選項,并選擇對應的項


        
        
          54
        
        
                  for (WebElement item : gtl.getOptions()) {


        
        
          55
        
        
                      item.click();


        
        
          56
        
        
                  }


        
        
          57
        
        
          */
        
        
          58
        
        
              }


        
        
          59
        
         }
      
Selenium 操作下拉列表實例-Select 源代碼

以下為上述代碼中調用的方法源碼

        
           1
        
        
          /**


        
        
           2
        
        
               * 獲取 Select 已選中的項的 text 值


        
        
           3
        
        
               * 


        
        
           4
        
        
               * @author Aaron.ffp


        
        
           5
        
        
               * @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCore.java selectSelected, 2015-6-16 19:40:02 Exp $


        
        
           6
        
        
               * 


        
        
           7
        
        
               * @param select : Select 下拉列表對象


        
        
           8
        
        
               * @return 已選擇項的 text 值


        
        
           9
        
        
               */


        
        
          10
        
        
              public String selectSelected(Select select){


        
        
          11
        
        
                  String text = "";


        
        
          12
        
        
          13
        
                 for (int i = 0; i 
        
          <
        
        
           select
        
        
          .getOptions().size(); i++) {


        
        
          14
        
        
                      if (select.getOptions().get(i).isSelected()) {


        
        
          15
        
        
                          text 
        
        
          = select.getOptions().get(i).getText();


        
        
          16
        
        
          17
        
        
          return text;


        
        
          18
        
        
                      }


        
        
          19
        
        
                  }


        
        
          20
        
        
          21
        
        
                  return text;


        
        
          22
        
        
              }
        
      
selectSelected 方法

以下為 Select 下拉列表源碼(selectDemo.html):

        
           1
        
        
          <
        
        
          html
        
        
          >
        
        
           2
        
        
          <
        
        
          head
        
        
          >
        
        
           3
        
        
          <
        
        
          meta 
        
        
          charset
        
        
          ='utf-8'
        
        
          >
        
        
           4
        
        
          <
        
        
          title
        
        
          >
        
        下拉列表框
        
          </
        
        
          title
        
        
          >
        
        
           5
        
        
          </
        
        
          head
        
        
          >
        
        
           6
        
        
           7
        
        
          <
        
        
          body
        
        
          >
        
        
           8
        
        
          <
        
        
          a 
        
        
          id
        
        
          ="goodtype"
        
        
          >
        
        商品分類:
        
          </
        
        
          a
        
        
          >
        
        
           9
        
        
          <
        
        
          select 
        
        
          id
        
        
          ="goodsType"
        
        
          >
        
        
          10
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="0v"
        
        
          >
        
        請選擇...
        
          </
        
        
          option
        
        
          >
        
        
          11
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="1v"
        
        
          >
        
        筆記本
        
          </
        
        
          option
        
        
          >
        
        
          12
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="2v"
        
        
          >
        
        硬件外設
        
          </
        
        
          option
        
        
          >
        
        
          13
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="3v"
        
        
          >
        
        大家電
        
          </
        
        
          option
        
        
          >
        
        
          14
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="4v"
        
        
          >
        
        創意小電
        
          </
        
        
          option
        
        
          >
        
        
          15
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="5v"
        
        
          >
        
        個護電器
        
          </
        
        
          option
        
        
          >
        
        
          16
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="6v"
        
        
          >
        
        汽車精品
        
          </
        
        
          option
        
        
          >
        
        
          17
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="7v"
        
        
          >
        
        辦公文具
        
          </
        
        
          option
        
        
          >
        
        
          18
        
        
          </
        
        
          select
        
        
          >
        
        
          19
        
        
          20
        
        
          <
        
        
          input 
        
        
          id
        
        
          ="goods"
        
        
           type
        
        
          ="text"
        
        
          ></
        
        
          input
        
        
          >
        
        
          21
        
        
          </
        
        
          body
        
        
          >
        
        
          22
        
        
          </
        
        
          html
        
        
          >
        
      
Select 下拉列表源碼 selectDemo.html

  由上述源碼可知,操作下拉列表-Select 時,首先要獲得 Select 元素(Selenium 自動化頁面操作的基礎),再 new 一個 Select 對象,然后對 Select 對象進行操作,即可正確的進行下拉列表的操作,以及獲取下拉列表當前已選擇的項值。動手能力強的親們,也可以自己封裝一下 Selenium 對 Select 的操作幾個有用方法,例如:判斷 option 的 value 是否存在;判斷 option 的 text 值是否存在;判斷 index 值是否超出 option 的數組邊界。。。等等,用于后續的 WEB UI 自動化。

  選擇下拉列表項的方法有三種:(1)option 的 index,(2)option 的 value,(3)option 的 text。無論選擇哪種方法,建議對三者的值進行校驗判斷,否則易出現元素不存在的錯誤,當然也可以對代碼 try...catch 一下,以處理異常。

  PS:使用上述源碼時,注意一下幾點:

  1、替換源碼中的 baseUrl 為實際路徑;

  2、將 selectSelected 方法正確添加到源碼,否則執行的時候會報錯

  3、自行添加啟動瀏覽器的代碼

?

下拉列表框操作下期精彩: Selenium2學習-014-WebUI自動化實戰實例-012-Selenium 操作下拉列表實例-div+{js|jquery}

?

至此, WebUI 自動化功能測試腳本 第 008 篇-下拉列表框 Select 操作 順利完結,希望此文能夠給初學 Selenium 的您一份參考。

最后,非常感謝親的駐足,希望此文能對親有所幫助。熱烈歡迎親一起探討,共同進步。非常感謝! ^_^

?

Selenium2學習-010-WebUI自動化實戰實例-008-Selenium 操作下拉列表實例-Select


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人国产在线24小时播放视频 | 在线观看香蕉免费啪在线观看 | 亚洲国产一区二区在线 | 97精品国产综合久久 | 久久九九影视 | 久久机热这里只有精品无需 | 哪里有毛片 | 天天拍拍夜夜出水 | 成年女人视频播放免费观看 | 亚洲艹逼| 国产精品一区在线播放 | 日韩毛片大全 | 免费观看大片毛片 | 欧美精品在线看 | 亚洲视频在线观看地址 | 国产成人黄网址在线视频 | 狠狠久久综合伊人不卡 | 久青草国产观看在线视频 | 草莓视频一区二区精品 | 精品一区视频 | 视频国产在线 | 奇米影视亚洲狠狠色 | 成人黄色毛片 | 手机在线精品视频 | 在线免费观看a视频 | 久久精品国产免费一区 | 国产福利午夜波多野结衣 | 欧美一级亚洲一级 | 久久这里有精品视频任我鲁 | www国产永久免费视频看看 | 国产综合社区 | 九九九九九热 | 欧美精品日韩一区二区三区 | 免费高h影片在线观看 | 成年人的毛片 | xxx国产老太婆视频 xxx毛片 | 久久久久亚洲香蕉网 | 98色花堂国产精品首页 | jizz美女18| 久久久久久久91精品免费观看 | 久久综久久美利坚合众国 |