大家思考一下,測評問卷的測試場景是如何構(gòu)成。
首先是有很多的題目,題目對應著不同的量化指標,題目的選項對應著不同的分數(shù),題目+分數(shù)的多種組合,映射成不同的測評報告。
簡單來說就是我們需要按出報告的相關(guān)邏輯,去組合不同的測評表單場景。
這一部分的測試使用系統(tǒng)測試費時,而且手工選擇題目的分數(shù)容易出錯,也不好核對出報告邏輯等原因。使用接口測試測測評出報告邏輯是比較優(yōu)的選擇。
如何參數(shù)化問卷的答案是關(guān)鍵,即每一題的分數(shù)組合。
梳理下來,要參數(shù)化問卷題目,組合題目的分數(shù),驗證出報告邏輯。
以下保存問卷的請求參數(shù)
###### 接口示例
>請求參數(shù)
``` javascript
{
"userId":123, //用戶ID
"platform":0, //平臺,直接寫0
"channel": 0,//渠道?
"version":0, //版本
"stage":1, //評測階段,?
"childStage":0,//子階段?
"extraInfoTime": 20.01, //當前階段花費的時間(秒)
"extraInfoCount": 20, //當前階段答對的個數(shù),
"extraInfo":"",
"scoreList":[
{
"path": "1,2,3", //指標的父級路徑
"quotaId": 1, //指標ID
"quesId": 12, //題號
"quesType": 1, //題型? 0--單選? 1--填空? 2--問答? 3--多選? 4--滾動
"answer": "lalal", //答案
"score": 5 //分數(shù)
},
{
"path": "1,2,3", //指標的父級路徑
"quotaId": 1, //指標ID
"quesId": 14, //題號
"quesType": 1, //題型? 0--單選? 1--填空? 2--問答? 3--多選? 4--滾動
"answer": "lalal", //答案
"score": 5 //分數(shù)
}
]
}
```
需要參數(shù)化的內(nèi)容是scoreList的部分。
1、首先我們整理好所有的題目列表
定義為js前置腳本的變量
?const?new_data_30?=?[{
?????????"quesId":?24,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66",
?????????"quotaId":?"116",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?25,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66",
?????????"quotaId":?"118",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?27,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66,120",
?????????"quotaId":?"124",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?28,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66,120",
?????????"quotaId":?"124",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?29,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66,120",
?????????"quotaId":?"124",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?30,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66,120",
?????????"quotaId":?"129",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?31,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66,120",
?????????"quotaId":?"129",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?32,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,66,120",
?????????"quotaId":?"129",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?33,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70",
?????????"quotaId":?"102",
?????????"answer":?"你有自己的學習目標嗎?"
?????},?{
?????????"quesId":?34,
?????????"score":?0,
?????????"quesType":?3,
?????????"path":?"0,70",
?????????"quotaId":?"102",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?35,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,103",
?????????"quotaId":?"104",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?36,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,103",
?????????"quotaId":?"105",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?37,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,103",
?????????"quotaId":?"105",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?38,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,103",
?????????"quotaId":?"105",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?40,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,103",
?????????"quotaId":?"106",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?41,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,103",
?????????"quotaId":?"106",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?42,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,103",
?????????"quotaId":?"106",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?44,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"108",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?45,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"109",
?????????"answer":?"30,200"
?????},
?????{
?????????"quesId":?51,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"110",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?52,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"111",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?53,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"111",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?54,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"111",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?56,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"112",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?57,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"112",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?58,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,107",
?????????"quotaId":?"112",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?60,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,113",
?????????"quotaId":?"114",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?61,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,113",
?????????"quotaId":?"114",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?62,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,113",
?????????"quotaId":?"114",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?63,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,70,113",
?????????"quotaId":?"114",
?????????"answer":?"30,200"
?????},
?????{
?????????"quesId":?1,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,83",
?????????"quotaId":?"115",
?????????"answer":?"30,200"
?????},
?????{
?????????"quesId":?64,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,83",
?????????"quotaId":?"149",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?65,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,83",
?????????"quotaId":?"148",
?????????"answer":?"30,200"
?????},?{
?????????"quesId":?74,
?????????"score":?0,
?????????"quesType":?0,
?????????"path":?"0,88",
?????????"quotaId":?"136",
?????????"answer":?"30,200"
?????}
?]
2、分隔問卷的模塊
var?len?=?new_data_30.length;
//M-4
var?mece30_quota_1?=?new_data_30.slice(0,8);
3、編輯不同的問卷答案組合
//學習意愿
mece30_quota_1[0].score?=?1;
//動力的持續(xù)性
mece30_quota_1[1].score?=?0;
//自我效能
mece30_quota_1[2].score?=?1;
mece30_quota_1[3].score?=?1;
mece30_quota_1[4].score?=?0;
//成長型心態(tài)
mece30_quota_1[5].score?=?1;
mece30_quota_1[6].score?=?0;
mece30_quota_1[7].score?=?0;
4、將object格式化為json格式
var??mq_1_1?=JSON.stringify(mece30_quota_1[0]);
var??mq_1_2?=JSON.stringify(mece30_quota_1[1]);
var??mq_1_3?=JSON.stringify(mece30_quota_1[2]);
var??mq_1_4?=JSON.stringify(mece30_quota_1[3]);
var??mq_1_5?=JSON.stringify(mece30_quota_1[4]);
var??mq_1_6?=JSON.stringify(mece30_quota_1[5]);
var??mq_1_7?=JSON.stringify(mece30_quota_1[6]);
var??mq_1_8?=JSON.stringify(mece30_quota_1[7]);
//console.log(mq_1_1,mq_1_2,mq_1_3,mq_1_4,mq_1_5,mq_1_6,mq_1_7,mq_1_8)
5、設置環(huán)境變量
pm.environment.set("mq_1_1",?mq_1_1);
pm.environment.set("mq_1_2",?mq_1_2);
pm.environment.set("mq_1_3",?mq_1_3);
pm.environment.set("mq_1_4",?mq_1_4);
pm.environment.set("mq_1_5",?mq_1_5);
pm.environment.set("mq_1_6",?mq_1_6);
pm.environment.set("mq_1_7",?mq_1_7);
pm.environment.set("mq_1_8",?mq_1_8);
6、參數(shù)化問卷列表
