多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 简单测试 现在有这样一个业务场景,我需要先登录,然后获取报名订单列表,而如果要登陆的话又必须要获取图片验证码然后把验证码输入到登陆接口的入参里,如果这样一个业务场景由人工手动来做的话是比较繁琐的,接口之前的信息需要来回切换,那么用 DOClever 如何来做自动化测试呢? > 我们在DOClever里切换到测试栏目下,新建订单模块,然后新建订单列表测试业务,在订单列表下新建一个测试用例,就叫获取订单列表,如下图所示: ![](https://box.kancloud.cn/9ffa69dac83b34f79214ed04118f203d_1344x451.png) ![](https://box.kancloud.cn/3e21f4777fc58b2deb69b15482835fec_577x615.png) > 然后我们去编写这个测试用例,DOClever 的测试用例用 javascript 编写即可,js 本身还是比较简单,学习一下很快就能上手,如下图: ![](https://box.kancloud.cn/ff917dc3c07d79e94ebfe7e750928ed6_640x430.png) > 代码提取出来如下: ~~~ var a=获取验证码; var res=await a(); var text=await input("aaa",res.data); log(text); a=登录; var res=await a({ body:{ "code":text } }); var c=报名订单列表; res=await c(); log(res.data.code); return true; ~~~ > 获取验证码,登陆,报名订单列表都是我们点击插入接口按钮插入的接口,插入页面如下: ![](https://box.kancloud.cn/309a91ac9db0ec2acbfc329e231e2939_640x195.png) > 上图中 baseurl 为 default;Url 代表使用默认的 baseurl 运行,否则可以选择我们想要的 baseUrl,query,header 里面如果有参数,我们可以设置参数的值,比如登陆接口的插入页面: ![](https://box.kancloud.cn/bc839e18d0eed5063f32a0ac4dc2c435_640x290.png) `var res=await a(); ` > 这一行代表我们执行获取验证码的接口,因为这是一个异步接口,所以需要 es7 里面的新语法 await 来等待这个异步请求的数据返回。 `var text=await input("aaa",res.data); ` > res.data 的值就是验证码图形数据,input 函数是一个用户输入的函数,第一个参数是显示的 title,第二个参数是需要在输入框中显示给用户的内容,这里就是把返回的验证码图片展示给用户看,然后用户手动输入验证码,同时程序等待输入返回,返回值赋值给 text 变量。 `log(text); ` > log 是一个输出函数,只有一个参数,是需要输出的内容。 ~~~ a=登录; var res=await a({ body:{ "code":text } }); ~~~ > 这段代码就是调用登陆接口,将 text 的内容作为登陆接口的 body 里面的 code 字段的入参,然后等待接口返回结果。 ~~~ var c=报名订单列表; res=await c(); log(res.data.code); return true; ~~~ > 这一段代码就是调用报名订单列表,然后将返回数据中的 code 字段打印出来,return true 代表这个测试用例已通过,return false 代表未通过,return 或者没有 return 语句代表这个用例结果未判定。 > **最后,不要忘记在每个语句结束的地方以分号结尾,这个非常重要!** ok,我们写完后还有一件事情不要忘记了,就是设置 defaultUrl,它会作为每个接口的 baseUrl 来运行接口,我们点击这个按钮即可选择: ![](https://box.kancloud.cn/e9e28761e526490583bac3997651e900_640x244.png) > 设置完成后,点击用例编辑页面的运行按钮,会出现下图所示: ![](https://box.kancloud.cn/578aa5aec4b53824ab8bb7af1ad4092d_640x451.png) > 这就是 input 弹出的输入框,图片展示的我们请求验证码接口返回的验证码图片,我们输入 pppx 验证码,然后点击确定,测试会自动按照流程走下去,当弹出运行完成的提示框时,我们看下输出标签页: ![](https://box.kancloud.cn/113ce15aa1ecfbe8c3a628d250a1ff2c_640x431.png) > 整个用例的详细输出信息都会完整的打印出来。 那么如果接口需要文件上传,DOClever 可不可以实现呢,答案完全是可以的,我们新建一个用例: ![](https://box.kancloud.cn/2521724f5dee4b61c5d1ead227d510f1_640x198.png) > 然后编辑测试用例的代码: ~~~ var a=上传头像; var res=await a(); log(res.data.data); return true; ~~~ > ok,点击运行,便会弹出一个文件选择页面,如下图: ![](https://box.kancloud.cn/9cda3fa7de7edff01856ae2f0220dd5f_640x202.png) > 我们选择需要上传的图片,点击确定,等弹出运行完成提示框,我们看下输出标签页的内容显示: ![](https://box.kancloud.cn/9e1bc1a4c5ca8c798fb4d12606e89515_640x324.png) > 已经执行成功,同时也打印出了新上传图片的路径地址!