尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Day16 高级玩法-拦截并获取网络请求

Day16 高级玩法-拦截并获取网络请求 一、说明有的时候登录的时候会获取验证码有些情况下验证码是通过接口的上下请求rsa 加解密后可以获取这个时候我们可以通过 的getResponseByUrlPattern 方法抓取对应的请求方法如下/** * 拦截操作后的数据 * param urlPattern URL 包含的字符串非正则内部用 contains 匹配 * param method 触发动作方法名如 click、enter、tab 等无参动作作为 waitForResponse 的触发 Runnable * 为 null 或空时表示动作已在步骤中执行仅等待对应响应 * return */ public String getResponseByUrlPattern( String urlPattern,String method) { Runnable runnable1 () - { if (method null || method.isEmpty()) { return; } doAction(method); }; // 1. 定义你想要捕获的接口特征 (Predicate) // 比如URL 包含 community-search-pc 且状态码是 200 PredicateResponse searchResponsePredicate response - response.url().contains(urlPattern) response.status() 200; // 这里的页面点击会触发一个网络接口请求 return page.waitForResponse(searchResponsePredicate, runnable1).text(); }小工具可以步骤定义中点击新增动作方法选择 getResponseByUrlPattern 选项。如下图getResponseByUrlPattern使用说明拦截并获取网络响应 | 参数:1~2个(用||分隔) | URL匹配模式:字符串, 触发动作(可选):无参动作方法名(如click/enter/tab为空则仅等待响应)二、例子我们有这样一个场景登录平台的时候前端会向后端请求一个http://localhost/dev-api/captchaImage获取验证码的接口为了方便测试我把验证码的答案也放在返回里面了。返回结果如下{ msg: 操作成功, img: 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, code: 200, answer: 5,//这个是验证码的答案后面会获取这个 captchaEnabled: true, uuid: 2e8da79528d34582a18d985c79dd6a7c }图片如下我们现在如果登录可以有如下步骤①打开浏览器输入测试平台地址②刷新页面获取/dev-api/captchaImage响应结果存储到变量res[执行操作方法成功]刷新页面获取/dev-api/captchaImage响应结果存储到变量res,操作方法存储变量,操作参数res存储变量名为res,存储内容为{msg:操作成功,img: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,code:200,answer:72,captchaEnabled:true,uuid:6d835a38a6b845798245806cd95677d2}③输入用户名④输入密码⑤解析json验证码answer的值并且存储到code⑥将获取的answer值输入验证码输入框⑦点击登录登录成功用例配置和步骤定义 如下测试报告
返回列表