成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

利用Testng做參數(shù)化

簡(jiǎn)述下testng做參數(shù)化的幾種方式:

在連平等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷(xiāo)推廣,成都外貿(mào)網(wǎng)站建設(shè),連平網(wǎng)站建設(shè)費(fèi)用合理。

@Parameters

dataProvider

如果使用的參數(shù)相對(duì)簡(jiǎn)單可以使用@Parameters,把參數(shù)定義在.xml文件中即可,如新建一個(gè)testng.xml
考慮如下測(cè)試場(chǎng)景,我想打開(kāi)51cto的官網(wǎng),然后退出

我就可以把url定義在testng.xml中

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<!--  thread-count="4" 為同時(shí)執(zhí)行的線(xiàn)程數(shù)   parallel="tests" 為同時(shí)執(zhí)行的測(cè)試級(jí)別  -->

<suite name="ppTest" thread-count="4" parallel="tests">

<parameter name="url" value="http://www.zhengmoney.com" />

<test name="ppTest" preserve-order="true">

<classes>

<class name="pp.PPTest" />

</classes>

</test>

</suite>

然后在pp包下面新建PPTest類(lèi):

package pp;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.testng.annotations.Optional;

import org.testng.annotations.Parameters;

import org.testng.annotations.Test;

/**

 * @author Anthony

 *

 */

public class PPTest {

  public WebDriver driver;

  /**

   * @param domainURL @Optional是如果在xml中沒(méi)讀到url就用Optional里面的值

   */

  @Parameters({"url"})

  @Test

  public void ppTest(@Optional("http://www.baidu.com/") String domainURL) {

    driver = new FirefoxDriver();

    driver.get(domainURL);

    driver.quit();

  }

}

@Parameters 可以被放置到如下位置:

(1)在任何已經(jīng)被 @Test, @Before/After 或 @Factory 注解過(guò)的地方。

(2)在測(cè)試類(lèi)中至多被放到一個(gè)構(gòu)造函數(shù)簽。這樣,TestNG才能在需要的時(shí)候使用 testng.xml 中特定的參數(shù)來(lái)實(shí)例化這個(gè)類(lèi)。這個(gè)特性可以被用作初始化某些類(lèi)中的值,以便稍后會(huì)被類(lèi)中其他的方法所使用。

注意:

XML中的參數(shù)會(huì)按照J(rèn)ava參數(shù)在注解中出現(xiàn)的順序被映射過(guò)去,并且如果數(shù)量不匹配,TestNG會(huì)報(bào)錯(cuò)。

參數(shù)是有作用范圍的。在testng.xml 中,你即可以在<suite> 標(biāo)簽下聲明,也可以在 <test>下聲明。如果兩個(gè)參數(shù)都有相同的名字,那么,定義在<test> 中的有優(yōu)先權(quán)。這在你需要覆蓋某些測(cè)試中特定參數(shù)的值時(shí),會(huì)非常方便。

DataProvider返回的是一個(gè)Object的二維數(shù)組,二維數(shù)組中的每個(gè)一維數(shù)組都會(huì)傳遞給調(diào)用函數(shù),作為參數(shù)使用。運(yùn)行的時(shí)候,會(huì)發(fā)現(xiàn), @Test標(biāo)識(shí)的test method被執(zhí)行的次數(shù)和object[][]包含的一維數(shù)組的個(gè)數(shù)是一致的,而@Test標(biāo)識(shí)的函數(shù)的參數(shù)個(gè)數(shù),也和object內(nèi)一維數(shù)組內(nèi)的元素?cái)?shù)是一致的。

申明數(shù)據(jù)源可以像這樣:

package com.example.testdata;

import org.testng.annotations.DataProvider;

/**

 * @author Anthony

 *

 */

public class TestProvider {

@DataProvider(name = "account")

public static Object[][] accountInfo() {

return new Object[][] { new Object[] { "古雷馬", "1234qwer" },

new Object[] { "古雷星", "1234qwer" } };

}

}

調(diào)用時(shí)則可以這樣:

import org.testng.Assert;

import org.testng.annotations.Test;

import com.example.testdata.TestProvider;

/**

 * @author Anthony

 *

 */

public class TestPractice {

 @Test(dataProvider = "account", dataProviderClass = TestProvider.class)

  public void testAgain(String userName, String password) {

    System.out.println("I'm test again");

    Assert.assertEquals("古雷馬", userName);

  }

}

網(wǎng)頁(yè)標(biāo)題:利用Testng做參數(shù)化
標(biāo)題網(wǎng)址:http://jinyejixie.com/article22/ijdhjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、建站公司、網(wǎng)站策劃搜索引擎優(yōu)化、品牌網(wǎng)站設(shè)計(jì)服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
陆河县| 进贤县| 武定县| 鹤峰县| 乡城县| 西充县| 科技| 巴林左旗| 通州区| 巴林左旗| 新余市| 固原市| 盐边县| 阳春市| 锦州市| 宣威市| 隆化县| 漯河市| 晴隆县| 鄂托克前旗| 左权县| 东台市| 蕉岭县| 禄丰县| 孟村| 东乌珠穆沁旗| 志丹县| 昂仁县| 砚山县| 水城县| 武宣县| 雷波县| 保康县| 阳信县| 山东省| 铜鼓县| 上虞市| 青田县| 深泽县| 麻栗坡县| 南漳县|