Web UI测试中如果要添加Cookie怎么办?
- 2018-10-31 07:45:00
- Seagull 原创
- 6755
在Web UI的自动化测试中,需要在浏览器中添加cookie是比较常见的场景,比如登录功能,为了跳过验证码这一步,很多测试人员设计测试场景的时候,会选择直接跳过登录这一步,如果用户登录信息是用cookie进行保存,那么我们就可以通过在浏览器中直接设置cookie来跳过登录。
在WebDriver提供的API中,有一个直接设置Cookie对象的方法,如下:
WebDriver.manage().addCookie(Cookie);
在LuckyFrame V2.7.1的客户端版本中,已经增加了直接在用例中添加Cookie的功能,具体优化代码如下:
//把operationValue解析成Cookie对象列表 List<Cookie> cookies = buildCookie(operationValue); if (null != cookies && cookies.size() > 0) { for (Cookie cookie : cookies) { wd.manage().addCookie(cookie); } } private static List<Cookie> buildCookie(String operationValue) { if (StringUtils.isBlank(operationValue)) { return null; } try { //operationValue必须符合JSON数组对象格式 JSONArray objects = JSON.parseArray(operationValue); if (null == objects) { return null; } List<Cookie> result = new ArrayList<>(objects.size()); for (int i = 0; i < objects.size(); i++) { JSONObject jsonObject = objects.getJSONObject(i); if (null == jsonObject) { continue; } //operationValue的JSONArray 中,KEY必须有以下几个 String name = jsonObject.getString("name"); String val = jsonObject.getString("val"); String domain = jsonObject.getString("domain"); String path = jsonObject.getString("path"); //String expire = jsonObject.getString("expire"); if (!StringUtils.isBlank(name) && !StringUtils.isBlank(val)) { Cookie cookie = new Cookie(name, val, domain, path, null); result.add(cookie); } } return result; } catch (Exception e) { e.printStackTrace(); return null; } }
那么在编写LuckyFrame Web UI用例在添加Cookie的时候到底要注意哪些事项呢?
1、在【方法 | 操作】列选择【addcookie】方法
2、参数列填写Cookie对象的Jsonarr,格式如下(如果你只需要一组cookie,那么只需要填写一组数据即可):
[{ "name": "cookie1", "val": "uwijijknkndsnjssanndjdjnnrjkejnm", "domain": "", "path": "" }, { "name": "cookie2", "val": "fdsaerewwqfdqwdscadsadsadefdafdsa", "domain": "", "path": "" }]
填写方法如下图:
文章原创申明
本站文章以及相关内容除注明转贴外,均为本站原创或翻译。
如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除【admin@luckyframe.cn】
本站原创或是翻译的文章欢迎任何形式转载,但请务必注明出处以及链接,尊重他人劳动成果,拒绝剽窃从你做起。
发表评论
文章分类
QQ官方交流群
微信公众号
付费知识圈
付费知识圈