<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java接口自動(dòng)化之TestNG單元測試框架(三)

          共 3843字,需瀏覽 8分鐘

           ·

          2021-03-14 08:39








          上一篇Java接口自動(dòng)化系列文章:Java接口自動(dòng)化之TestNG單元測試框架(二),主要介紹testng.xml配置文件控制測試用例的運(yùn)行



          以下主要介紹在TestNg中參數(shù)傳遞的方式




          01
          TestNg傳遞參數(shù)的兩種方式

          TestNG提供了2種傳遞參數(shù)的方式:

          • testng.xml文件獲取參數(shù)。

          • @DataProvider傳遞一些比較復(fù)雜的參數(shù)。



          02
          XML文件配置



          優(yōu)點(diǎn):使得代碼和測試數(shù)據(jù)分離,方便維護(hù)。

          缺點(diǎn):若是需要傳遞復(fù)雜的參數(shù),或者從Java中創(chuàng)建參數(shù)(復(fù)雜對(duì)象,對(duì)象從屬性文件或者數(shù)據(jù)庫中讀取),這種方法就再也不適用。


          思路:

          • 定義xml配置文件,在文件中申明參數(shù)。

          • 使用 @Parameters 注解從測試配置 xml 文件獲取參數(shù)。


          ①在maven項(xiàng)目的 resources 目錄下新建文件parameter.xml ,申明參數(shù)。

          <?xml version="1.0" encoding="UTF-8"?>
          <suite name="parameterTest">
              <test name="testParameter">
                  <classes>
                      <class name="ParameterTest"/>
                      <parameter name="name" value="vivi" />
                      <parameter name="age" value="18" />
                  </classes>
              </test>
          </suite>

          ②創(chuàng)建測試類:ParameterTest。

          import org.testng.annotations.Parameters;
          import org.testng.annotations.Test;
          public class ParameterTest {
              @Test
              @Parameters({"name","age"})
              public void testDemo(String name,int age){
                  System.out.println("姓名:"+name+","+"年齡: "+age);
              }
          }


          ③右鍵運(yùn)行parameter.xml,效果如下:

          姓名:vivi,年齡: 18
          ===============================================
          parameterTest
          Total tests run: 1, Failures: 0, Skips: 0
          ===============================================

          03
          DataProvider傳送參數(shù)

          如果需要傳遞一些復(fù)雜的參數(shù),靠xml文件就不太適合了。很多場景是,測試數(shù)據(jù)需要從java對(duì)象或數(shù)據(jù)庫中獲取,這時(shí)候,我們就需要通過DataProvider方式來提供測試數(shù)據(jù)。


          思路如下:

          1)首先定義一個(gè)數(shù)據(jù)源的方法,通過@DataProvider注解來標(biāo)識(shí)。

          • 數(shù)據(jù)源,是方法提供數(shù)據(jù),返回一個(gè)二維數(shù)組。

          • @DataProvider(name = "data") 通過該注解來標(biāo)識(shí)這個(gè)數(shù)據(jù)源,name為數(shù)據(jù)源的名稱。

          • @return 返回一個(gè)二維數(shù)組。

          2)然后定義一個(gè)測試方法,通過@Test(dataProvider="data")屬性來獲取數(shù)據(jù)。

          通過dataProvider來獲取數(shù)據(jù),執(zhí)行的次數(shù)會(huì)根據(jù)數(shù)據(jù)源提供數(shù)據(jù)的數(shù)量。


          新建測試類:DataProviderTest。

          import org.testng.annotations.DataProvider;
          import org.testng.annotations.Test;
          public class DataProviderTest {
              @DataProvider(name = "data")
              public Object[][] provideData() {
                  Object[][] data = new Object[][]{
                          {"vivi", 18},
                          {"coco", 16},
                          {"tom", 20}
                  };
                  return data;
              }
              @Test(dataProvider = "data")
              public void testDataProvider(String name,int age) {
                  System.out.println("姓名:" + name + "," + "年齡: " + age);
              }
          }

          注意:被@Test標(biāo)注的方法通過dataProvider屬性指明其數(shù)據(jù)提供者,這個(gè)名字必須與@DataProvider(name="...")中的名字一致。


          運(yùn)行之后,結(jié)果為:

          姓名:vivi,年齡: 18
          姓名:coco,年齡: 16
          姓名:tom,年齡: 20
          ===============================================
          Default Suite
          Total tests run: 3, Failures: 0, Skips: 0
          ===============================================


          (完)



          ITester測試開發(fā)小棧(ID:TestDevZone),技術(shù)人茶余飯后的充電寶,每周上午11:30更新文章。從精進(jìn)的軟件測試到硬核的測試開發(fā)、從精細(xì)的前端開發(fā)到縝密的后端開發(fā),前沿互聯(lián)網(wǎng)資訊傳送,寶藏IT資源分享,熱門招聘發(fā)布。

          喜歡記得星標(biāo)置頂,讓我們一起守護(hù)成長


          瀏覽 114
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄片一级二级三级 | 奇米成人在线 | 亚洲免费看黄 | 在线免费看黄色 | 青青草成人影院 |