测试之Mock使用

     众所周知Mock是为了解决依赖接口未开发完成或者调用第三方接口的情况,进行模拟返回数据而存在,测试中具体使用场景需要在真实使用后进行补充------未完待续~

     下面是自己整理的关于Mock的使用之一:

   1、首先依赖提供的jar包和git命令

jar包下载路径:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0
java -jar ./moco-runner-0.11.0-standalone.jar http -p 8888 -c startup1.json
浏览器访问路径:localhost:8888/指定方法名

 2、模拟get请求的两种方式(无参和传参)

//无参
[
    {
        "description":"这是第一个demo",
        "request":{
            "uri":"/demo",
            "method":"get"
        },
        "response":{
            "text":"这是第一个mock框架的demo",
            
            //解决乱码问题
            "headers":{
                "Content-Type":"text/html;charset=gbk"
            }
        }
    }
]
//有参
[
    {

        "description":"模拟一个带参数的get请求",
        "request":{
            "uri":"/getwithparam",
            "method":"get",
            "queries":{
                "name": "huhansan",
                "age": "18"
            }
        },
        "response":{
            "text": "我胡汉三又回来啦",
            "headers": {
                "Content-Type":"text/html;charset=gbk"
            }
        }
    }
]

3、模拟post请求的两种方式(无参、json格式和非json格式)

//无参post请求
[
  {
    "description": "模拟一个post请求",
    "request": {
      "uri": "/postdemo",
      "method": "post"
    },
    "response": {
      "text": "这是我的第一个mock_post请求",
      "headers": {
        "Content-Type":"text/html;charset=gbk"
      }
    }
  }
  ]
//json格式post请求
[
  {
    "description": "json格式post请求",
    "request": {
      "uri": "/postdemo",
      "method": "post",
      "json":{
        "name":"huhansan",
        "age":""18
       }
    },
    "response": {
      "text": "json格式post请求",
      "headers": {
        "Content-Type":"text/html;charset=gbk"
      }
    }
  }
 ]
//非json格式post请求
[
  {
    "description": "非json格式post请求",
    "request": {
      "uri": "/postdemo",
      "method": "post",
      "forms":{
            "name":"lisi",
            "age":"20"
        }
    },
    "response": {
      "text": "非json格式post请求",
      "headers": {
        "Content-Type":"text/html;charset=gbk"
      }
    }
  }
 ]

4、带cookie信息的get请求

[
	{
		"description":"带cookie信息的get请求",
		"request":{
			"uri":"/get/cookie",
			"method":"get",
			"cookies":{
				"login":"true"
			}
		},
		"response":{
			"text":"cookie信息验证成功",
			"headers":{
				"Content-Type":"text/html;charset=gbk"
			}
		}
	}
]

5、带cookie请求的post请求且请求数据指定为json格式

[
  {
	"description":"携带cookie信息的post请求",
	"request":{
		"uri":"/post/cookies",
		"method":"get",
		"cookies":{
			"login":"true"
		},
		"queries":{
			"name":"zhaoliu",
			"sex":"woman"
		},
		"headers":{
			"content-type":"application/json"
		}
	
	},
	"response":{
		"status":201,	
		"json":{
			"name":"zhaoliu",
			"sex":"woman"
		}
	}
}

]

6、重定向

[
	{
		"description":"重定向到自己的网页上",
		"request":{
			"uri":"/redirect/topath"
		},
		"redirectTo":"/redirect/new"
	},
	{
		"description":"这是被重定向的请求",
		"request":{
			"uri":"/redirect/new"
		},
		"response":{
			"text":"重定向成功了"
		}
	}
]

 

你可能感兴趣的:(移动端专项测试)