showdoc单页面集

此项目把一些零零散散、在网站各处引用的单页集合在一起


前执行脚本和后执行脚本的帮助说明

<h3>执行脚本是什么</h3> <p>执行脚本是一段符合JavaScript语法的代码片段。其中,前执行脚本,会在接口请求前执行。而后执行脚本,则在接口请求后执行。这种脚本通常会被用来对环境变量/请求参数等做一些自定义修改。比如说,我想通过动态地获取到A接口的返回token,设置进变量里,然后B接口则可以直接使用这个新变量值了。 用户使用runapi调试具体某个接口的时候,会在填写地址的输入框下方看到前后执行脚本的入口</p> <h3>语法参考</h3> <ul> <li> <h4>前执行脚本</h4> </li> </ul> <pre><code>runapi.getVar("name") //获取当前环境的一个变量 runapi.setVar("name","value")//设置当前环境的一个变量 runapi.clearVar("name")//清理当前环境的一个变量 runapi.getParam("name") // 根据name获取请求表单(放在Body里的)的一个参数 runapi.getAllParam() // 获取所有Body参数。你可以runapi.alert()出来看看数据结构 runapi.setParam("name","value") // 根据name设置请求表单(放在Body里的)的一个参数 runapi.getQuery("name") // 根据name获取Query的一个参数 runapi.getAllQuery() // 获取所有Query参数。你可以runapi.alert()出来看看数据结构 runapi.setQuery("name","value") // 根据name设置Query的一个参数 runapi.getParamJson() // 获取请求参数为json的json对象 runapi.setParamJson(json) //设置请求参数为json的json对象 runapi.getHeader("name") //根据name获取header runapi.setHeader("name","value") //根据name设置header runapi.alert('调试信息' ); // 弹窗显示调试信息 runapi.getMethod() // 获取请求方法 runapi.getUrl() // 获取请求url </code></pre> <ul> <li> <h4>后执行脚本</h4> </li> </ul> <pre><code>runapi.getVar("name") //获取当前环境的一个变量 runapi.setVar("name","value")//设置当前环境的一个变量 runapi.clearVar("name")//清理当前环境的一个变量 runapi.responseBody //响应体对象 runapi.responseHeader //响应体对象 runapi.status // 响应码 runapi.alert('调试信息' ); // 后执行脚本还支持断言操作,可配合流程测试功能一起使用 runapi.assert('status==200') // 表示响应码为200的时候断言通过 runapi.assert('responseTime&lt;100') // 表示响应时间小于100毫秒的时候断言通过 runapi.assert("bodyIsJson()") // 响应内容为json格式字符串的时候断言通过 // 关于断言的更多语法和说明,请访问 https://www.showdoc.com.cn/p/4949225ee3575af88b0748ae0e6fc105 </code></pre> <ul> <li> <h4>后执行脚本里的断言</h4> <p>关于断言的更多语法和说明,<a href="https://www.showdoc.com.cn/p/4949225ee3575af88b0748ae0e6fc105" title="可点击这里">可点击这里</a></p> </li> <li> <h4>网络请求方法</h4> </li> </ul> <pre><code>/* runapi.ajax 兼容前端juqey库的ajax方法,你可以查看jquery ajax参数说明教程 , 或者在网络搜索更多。网络上关于jquery ajax的历史资料很丰富。 下面给出一个post表单数据的例子 */ runapi.ajax({ url: 'https://www.showdoc.cc/server/api/user/login', type: 'post', dataType: 'json', data: { name: "xu", foo: 'bar' }, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, success: function(res) { runapi.alert(res) }, error: function(e) { } }); </code></pre> <ul> <li> <h4>加密库</h4> </li> </ul> <pre><code>// runapi可以引用CryptoJS这个加密库来实现类似md5/SHA等常见加密运算 var md5 = runapi.CryptoJS.MD5('string').toString() ; var sha256 = runapi.CryptoJS.SHA256('string').toString() ; runapi.alert(md5) runapi.alert(sha256) // 关于CryptoJS还有哪些算法,可以网络搜索之。网上中英文资料都很丰富。 </code></pre> <ul> <li> <h4>时间日期库</h4> </li> </ul> <pre><code>// runapi可以引用MomentJs这个库来简化时间运算 var time1 = runapi.moment().format('MMMM Do YYYY, h:mm:ss a') ; var time2 = runapi.moment().format('YYYYMMDD') ; runapi.alert(time1); runapi.alert(time2); // 关于MomentJs还有哪些用法,可以网络搜索之。网上中英文资料都很丰富。 </code></pre> <h3>一些Demo示例</h3> <ul> <li> <h4>前执行脚本</h4> </li> </ul> <pre><code> // 获取当前以毫秒为单位的时间戳 var timestamp = new Date().getTime(); //将时间戳设置成环境变量(调用setVar方法时候,若环境变量不存在则会自动创建) runapi.setVar("timestamp",timestamp) // 将时间戳设置为请求头 runapi.setHeader("timestamp",timestamp) // 从请求头获取刚才设置的值 var timeFromHeader = runapi.getHeader("timestamp") // 将该数值转化为以秒为单位的时间戳 var timestamp2 = Math.round(timeFromHeader/1000) ; // 将该值设置进请求体参数里 runapi.setParam("timestamp2",timestamp2) </code></pre> <ul> <li> <h4>后执行脚本</h4> </li> </ul> <pre><code> //如果接口返回是标准json,比如{"testKey":"hello"}, // 那么访问该对象的testKey可以runapi.responseBody.testKey这样 //为了简洁,我们可以把runapi.responseBody赋值到一个叫body的变量,这样就可以body.testKey var body = runapi.responseBody // runapi.alert(body.testKey) //获取响应码和响应头 var status = runapi.status var header = runapi.responseHeader //从响应头中获取时间信息 var date =header.date //从响应头中获取content-type信息 var type =header['content-type'] // 若响应码为200 if(status == 200 ){ // 把date设置进环境变量 runapi.setVar("testDate",date) }else{ // 把ua设置进环境变量 runapi.setVar("testType",type) } </code></pre>

页面列表

ITEM_HTML