- WebdriverIO 教程
- WebdriverIO - 主页
- WebdriverIO - 简介
- WebdriverIO - 先决条件
- WebdriverIO - 架构
- WebdriverIO - NodeJS 入门
- WebdriverIO - NPM 的安装
- WebdriverIO - VS 代码安装
- WebdriverIO - Package.json
- WebdriverIO - 摩卡安装
- Selenium 独立服务器安装
- WebdriverIO - 配置文件生成
- WebdriverIO - VS Code 智能感知
- WebdriverIO - Wdio.conf.js 文件
- WebdriverIO - Xpath 定位器
- WebdriverIO - CSS 定位器
- WebdriverIO - 链接文本定位器
- WebdriverIO - ID 定位器
- WebdriverIO - 标签名称定位器
- WebdriverIO - 类名定位器
- WebdriverIO - 名称定位器
- Expect 断言声明
- WebdriverIO - 快乐路径流
- WebdriverIO - 通用浏览器命令
- WebdriverIO - 处理浏览器大小
- WebdriverIO - 浏览器导航命令
- 处理复选框和下拉菜单
- WebdriverIO - 鼠标操作
- 处理子窗口/弹出窗口
- WebdriverIO - 隐藏元素
- WebdriverIO - 框架
- WebdriverIO - 拖放
- WebdriverIO - 双击
- WebdriverIO - Cookie
- WebdriverIO - 处理单选按钮
- webelements 上的 Chai 断言
- WebdriverIO - 多个窗口/选项卡
- WebdriverIO - 滚动操作
- WebdriverIO - 警报
- WebdriverIO - 调试代码
- WebdriverIO - 捕获屏幕截图
- WebdriverIO - JavaScript 执行器
- WebdriverIO - 等待
- WebdriverIO - 并行运行测试
- WebdriverIO - 数据驱动测试
- 从命令行参数运行测试
- 使用 Mocha 选项执行测试
- 从 Allure 生成 HTML 报告
- WebdriverIO 有用资源
- WebdriverIO - 快速指南
- WebdriverIO - 有用的资源
- WebdriverIO - 讨论
WebdriverIO - Cookie
我们可以使用 WebdriverIO 处理 cookie。cookie 有助于识别用户。这是一种将信息从一个站点会话传递到另一个站点会话或在两个相连网站的会话之间传递信息的有效技术。
Cookie 的方法
我们可以使用以下方法通过 WebdriverIO 添加、删除和获取 cookie -
browser.setCookies
这用于为当前页面设置单个 cookie 或多个 cookie。要为页面设置 cookie,我们必须首先启动并停留在该页面上。
句法
语法如下 -
browser.setCookies( { cookie, cookie.name, cookie.value, cookie.path, cookie.domain, cookie.secure, cookie.httpOnly, cookie.expiry } )
这里,cookie 是 cookie 对象或对象数组,可以包含以下值 -
cookie.name - 它是一个可选参数,指 cookie 名称。
cookie.value - 这是一个可选参数,指的是 cookie 值。
cookie.path - 这是一个可选参数,指的是 cookie 路径。默认值为/(如果添加cookie时没有添加)。
cookie.domain - 它是一个可选参数,指 cookie 域。默认值是当前浏览上下文的活动文档的 URL 域(如果在添加 cookie 时未添加)。
cookie.secure - 这是一个可选参数,用于检查 cookie 是否安全。默认值为 false(如果添加 cookie 时没有添加)。
cookie.httpOnly - 这是一个可选参数,用于检查 cookie 是否为 HTTP 类型。默认值为 false(如果添加 cookie 时没有添加)。
cookie.过期。
browser.getCookies
这用于从现有页面获取 cookie。如果 cookie 名称作为参数提供给此方法,则应获取该特定 cookie。否则,将获取当前页面的所有 cookie。
句法
语法如下 -
//to get a specific cookie browser.getCookies(['Topic'])
或者,
//to get all cookies browser.getCookies()
browser.deleteCookies
这用于从现有页面删除 cookie。如果 cookie 名称作为参数提供给此方法,则应删除该特定 cookie。否则,当前页面的所有 cookie 将被删除。
句法
语法如下 -
//to delete a specific cookie browser.deleteCookies(['Topic'])
或者,
//to delete all cookies browser.deleteCookies()
首先,按照标题为“使用 WebdriverIO 的快乐路径流”一章中的步骤 1 到 5 进行操作,如下所示 -
步骤 1 - 安装 NodeJS。有关如何执行此安装的详细信息,请参阅标题为 NodeJS 入门的章节。
步骤 2 - 安装 NPM。有关如何执行此安装的详细信息,请参阅标题为“NPM 安装”的章节。
步骤 3 - 安装 VS Code。有关如何执行此安装的详细信息,请参阅标题为 VS Code 安装的章节。
步骤 4 - 创建配置文件。有关如何执行此安装的详细信息,请参阅标题为“配置文件生成”的章节。
步骤 5 - 创建规格文件。有关如何执行此安装的详细信息,请参阅标题为“Mocha 安装”的章节。
步骤 6 - 在创建的 Mocha 规范文件中添加以下代码。
// test suite name describe('Tutorialspoint application', function(){ //test case it('Cookies', function(){ // launch url browser.url('https://www.tutorialspoint.com/index.htm') //set cookies browser.setCookies([ {name: 'topic1', value: 'WebdriverIO'}, {name: 'topic2', value: 'Selenium'} ]) //get a particular cookie const t = browser.getCookies(['topic1']) console.log(t); //get all cookies const a = browser.getCookies() console.log(a); //delete a cookie with name topic2 browser.deleteCookies(['topic2']) d = browser.getCookies() console.log(d) //delete all cookies browser.deleteCookies() m = browser.getCookies() console.log(m) }); });
使用以下命令运行配置文件 - wdio.conf.js 文件 -
npx wdio run wdio.conf.js
有关如何创建配置文件的详细信息将在标题为 Wdio.conf.js 文件的章节和标题为配置文件生成的章节中详细讨论。
您的计算机上将出现以下屏幕 -
命令成功执行后,首先在控制台中打印名称为 topic1 的 cookie 详细信息。然后,名称为 topic1 和 topic2 的 cookie 详细信息都会显示。
您的计算机上将出现以下屏幕 -
然后,我们删除了名为 topic2 的 cookie,因此其他 cookie 都打印在控制台中。最后,删除所有 cookie 后,控制台中会打印一个空数组。