本篇文章為大家展示了nGrinder中如何在GET請(qǐng)求中發(fā)送參數(shù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)建站專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為房屋鑒定等企業(yè)提供專業(yè)服務(wù)。
在GET請(qǐng)求腳本中添加添加信息頭、cookies和自定義參數(shù),有兩種方式:
一種是在UI界面添加后自動(dòng)生成腳本,一種是直接在腳本中添加。
一、通過UI界面添加
通過 UI 設(shè)置:腳本 -> 新建腳本 -> 顯示高級(jí)配置
生成代碼如下:
@RunWith(GrinderRunner)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
class TestRunner {
public static GTest test
public static HTTPRequest request
public static NVPair[] headers = []
public static NVPair[] params = []
public static Cookie[] cookies = []
@BeforeProcess
public static void beforeProcess() {
HTTPPluginControl.getConnectionDefaults().timeout = 6000
test = new GTest(1, "www.baidu.com")
request = new HTTPRequest()
// =========下面是我剛才添加的參數(shù)=========
// Set header datas
List
headerList.add(new NVPair("Connection", "keep-alive"))
headerList.add(new NVPair("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/21.0"))
headers = headerList.toArray()
// Set param datas
List
paramList.add(new NVPair("name", "jing"))
paramList.add(new NVPair("age", "18"))
paramList.add(new NVPair("sex", "beauty"))
params = paramList.toArray()
// Set cookie datas
List
cookieList.add(new Cookie("myToken", "xxxxxxxx", "www.baidu.com", "", new Date(32503647599000L), false))
cookies = cookieList.toArray()
// =========上面是我剛才添加的參數(shù)=========
grinder.logger.info("before process.");
}
@BeforeThread
public void beforeThread() {
test.record(this, "test")
grinder.statistics.delayReports=true;
grinder.logger.info("before thread.");
}
@Before
public void before() {
request.setHeaders(headers)
cookies.each { CookieModule.addCookie(it, HTTPPluginControl.getThreadHTTPClientContext()) }
grinder.logger.info("before thread. init headers and cookies");
}
@Test
public void test(){
HTTPResponse result = request.GET("https://www.baidu.com", params)
assertThat(result.statusCode, is(200))
// 這是我通過引導(dǎo)頁手動(dòng)添加的斷言
assertThat(result.getText(), containsString("jing"))
}
}
可以看到這種方式是在@beforeProcess中添加heads 、params、cookies。
二、直接在腳本中添加
(在此只演示添加 headers 和 params的方式,添加cookies是類似的,不再贅述)
根據(jù)在腳本中添加的位置不同,可以分為以下幾種方式:
1、在 @BeforeProcess 注解的方法里添加 headers 和 params
這種方法跟第一種方法的效果是一樣的
// 添加headers
List
headerList.add(new NVPair("Accept-Language", "en-US,zh-CN;"))
// ...可以添加多個(gè)header
headers = headerList.toArray()
// 添加params
List
paramList.add(new NVPair("accessToken", "xxxxxxxxx"))
// ...可以添加多個(gè)param
params = paramList.toArray()
2、直接在TestRunner類的靜態(tài)變量中添加 headers 和 params
在整個(gè)類最前面定義靜態(tài)變量的地方,直接給變量賦值:
// 添加headers
public static NVPair[] headers = [
new NVPair("Accept-Language", "en-US,zh-CN;")
]
// 添加params
public static NVPair[] params = [
new NVPair("accessToken", "xxxxxxxxxx")
]
3、在 @Test 注解的方法中添加 headers 和 params
在發(fā)送request請(qǐng)求的方法里添加參數(shù):
// HTTPResponse result = request.GET("https://www.baidu.com", params)
// 添加headers
HTTPResponse result = request1.GET("https://www.baidu.com", [new NVPair("Accept-Language", "en-US,zh-CN;")] as NVPair[])
// 添加params
HTTPResponse result = request.GET("https://www.baidu.com", [new NVPair("accessToken", "xxxxxx")] as NVPair[])
到底選擇哪種方式,要根據(jù)具體的參數(shù)類型和業(yè)務(wù)場(chǎng)景來決定。
上述內(nèi)容就是nGrinder中如何在GET請(qǐng)求中發(fā)送參數(shù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。