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

Selenium2學(xué)習(xí)-010-WebUI自動(dòng)化實(shí)戰(zhàn)實(shí)例-008-Se

系統(tǒng) 1981 0

此文主要講述用 Java 編寫 Selenium 自動(dòng)化測(cè)試腳本編寫過(guò)程中,對(duì)下拉列表框 Select 的操作。

下拉列表是 Web UI 自動(dòng)化測(cè)試過(guò)程中使用率非常高的,通常有兩種形式的下拉列表,一種是 Select 的下拉列表,此種操作的時(shí)候比較簡(jiǎn)單,定位到元素后直接操作即可;還有的下拉列表是以多個(gè) div + js + input 的形式實(shí)現(xiàn),input 用于存儲(chǔ)選擇的項(xiàng)的 value 值;當(dāng)然也會(huì)有其他方式實(shí)現(xiàn)的下拉列表。

希望能對(duì)初學(xué) Selenium2 WebUI 自動(dòng)化測(cè)試編程的親們有所幫助。若有不足之處,敬請(qǐng)大神指正,不勝感激!

以下為 Selenium 操作下拉列表 Select 的 Java 自動(dòng)化測(cè)試腳本實(shí)例源代碼,敬請(qǐng)參閱!

        
           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 操作下拉列表實(shí)例-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
        
        
          //
        
        
           獲取需要打開(kāi)的鏈接的 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
        
        
          //
        
        
           將元素轉(zhuǎn)換為 Select
        
        
          29
        
                 Select gtl = 
        
          new
        
        
           Select(goodsTypeList);


        
        
          30
        
        
          31
        
        
          //
        
        
           模擬用戶點(diǎn)擊動(dòng)作展開(kāi)下拉列表,也可不執(zhí)行直接選擇;


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


        
        
          34
        
        
          35
        
        
          //
        
        
           通過(guò)列表項(xiàng)的 option 索引選擇,也可不執(zhí)行
        
        
          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
        
        
                  // 通過(guò)列表項(xiàng)的 option 的 value 值選擇


        
        
          43
        
        
                  gtl.selectByValue("3v");


        
        
          44
        
        
          45
        
        
                  // 通過(guò)列表項(xiàng)的 option 的 text 值選擇


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


        
        
          47
        
        
          48
        
        
                  // 遍歷列表項(xiàng)的所有可選項(xiàng),并選擇對(duì)應(yīng)的項(xiàng)


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


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


        
        
          51
        
        
                  }


        
        
          52
        
        
          53
        
        
                  // 遍歷列表項(xiàng)的所有可選項(xiàng),并選擇對(duì)應(yīng)的項(xiàng)


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


        
        
          55
        
        
                      item.click();


        
        
          56
        
        
                  }


        
        
          57
        
        
          */
        
        
          58
        
        
              }


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

以下為上述代碼中調(diào)用的方法源碼

        
           1
        
        
          /**


        
        
           2
        
        
               * 獲取 Select 已選中的項(xiàng)的 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 下拉列表對(duì)象


        
        
           8
        
        
               * @return 已選擇項(xiàng)的 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"
        
        
          >
        
        請(qǐng)選擇...
        
          </
        
        
          option
        
        
          >
        
        
          11
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="1v"
        
        
          >
        
        筆記本
        
          </
        
        
          option
        
        
          >
        
        
          12
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="2v"
        
        
          >
        
        硬件外設(shè)
        
          </
        
        
          option
        
        
          >
        
        
          13
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="3v"
        
        
          >
        
        大家電
        
          </
        
        
          option
        
        
          >
        
        
          14
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="4v"
        
        
          >
        
        創(chuàng)意小電
        
          </
        
        
          option
        
        
          >
        
        
          15
        
        
          <
        
        
          option 
        
        
          value
        
        
          ="5v"
        
        
          >
        
        個(gè)護(hù)電器
        
          </
        
        
          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 時(shí),首先要獲得 Select 元素(Selenium 自動(dòng)化頁(yè)面操作的基礎(chǔ)),再 new 一個(gè) Select 對(duì)象,然后對(duì) Select 對(duì)象進(jìn)行操作,即可正確的進(jìn)行下拉列表的操作,以及獲取下拉列表當(dāng)前已選擇的項(xiàng)值。動(dòng)手能力強(qiáng)的親們,也可以自己封裝一下 Selenium 對(duì) Select 的操作幾個(gè)有用方法,例如:判斷 option 的 value 是否存在;判斷 option 的 text 值是否存在;判斷 index 值是否超出 option 的數(shù)組邊界。。。等等,用于后續(xù)的 WEB UI 自動(dòng)化。

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

  PS:使用上述源碼時(shí),注意一下幾點(diǎn):

  1、替換源碼中的 baseUrl 為實(shí)際路徑;

  2、將 selectSelected 方法正確添加到源碼,否則執(zhí)行的時(shí)候會(huì)報(bào)錯(cuò)

  3、自行添加啟動(dòng)瀏覽器的代碼

?

下拉列表框操作下期精彩: Selenium2學(xué)習(xí)-014-WebUI自動(dòng)化實(shí)戰(zhàn)實(shí)例-012-Selenium 操作下拉列表實(shí)例-div+{js|jquery}

?

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

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

?

Selenium2學(xué)習(xí)-010-WebUI自動(dòng)化實(shí)戰(zhàn)實(shí)例-008-Selenium 操作下拉列表實(shí)例-Select


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产成人乱码一区二区三区在线 | 看欧美一级片 | 哪个网站能看毛片 | 中文字幕在线免费观看视频 | 日本精品久久久一区二区三区 | 七次郎在线视频精品视频 | 亚洲精品一| 国产精品自在欧美一区 | 国产性一交一乱一伦一色一情 | 欧美成人aⅴ | 草久视频在线 | 欧美成人啪啪看片 | 欧美xxx4k精品hd | 亚洲精品国产福利 | 国产成人精视频在线观看免费 | 亚洲国产成人久久综合一 | 青草青草久热精品视频99 | 免费视频爱爱太爽在线观看 | 99热在线获取最新地址 | 手机看片日韩日韩国产在线看 | www日韩中文字幕在线看 | 色优久久 | 波多野结衣免费免费视频一区 | 日本精品区| 在线观看男女爱视频网站 | 日产精品一二三四区国产 | 成年人黄视频大全 | 在线观看黄色免费视频 | 国产精品人伦久久 | 午夜影视在线观看 | 黄页免费观看1 | 久久精品国产400部免费看 | 天天透天天狠 | 嫩模尺度私拍在线视频 | 99视频全部免费精品全部四虎 | 99re热视频这里只有精品5 | 久久伊人亚洲 | 日韩一区二区三区视频在线观看 | 午夜在线视频网站 | 日韩一级黄色录像 | 久久草在线视频免费 |