找到关于 Rest Assured 的 161 篇文章
837 次浏览
我们可以在 Cypress 中实现标签。Cypress 有 .only 和 .skip 两个标签。.only 标签用于执行带有该标签的 it 块,而 .skip 标签用于排除带有该标签的 it 块。示例使用 .only 的实现describe('Tutorialspoint', function() //带有 .only 标签的 it 块 it.only('第一个测试', function() { cy.log("第一个测试") }) //带有 .only 标签的 it 块 It.only('第二个测试', function() { cy.log("第二个测试") }) it('第三个测试', function() { cy.log("第三个测试") }) })执行结果输出 ... 阅读更多
473 次浏览
我们可以在 Cypress 中实现钩子。Cypress 钩子用于在每个测试之前/之后执行某些操作。一些常见的钩子包括:before – 在 describe 块中任何测试执行之前执行一次。after – 在 describe 块中所有测试执行之后执行一次。beforeEach – 在 describe 块中单个 it 块执行之前执行。afterEach – 在 describe 块中单个 it 块执行之后执行。示例实现describe('Tutorialspoint', function() { before(function() { // 在 it 块中所有测试之前执行一次 cy.log("Before 钩子") }) after(function() { ... 阅读更多
143 次浏览
下图解释了 Cypress 的工作原理:像 Selenium 这样的自动化工具在浏览器外部运行。然而,Cypress 的架构不同。它在浏览器内运行。Cypress 基于 Node.js 服务器。Cypress 与 Node.js 持续交互,它们彼此协调工作。因此,Cypress 可用于测试应用程序的前端和后端。因此,Cypress 能够处理在 UI 上实时执行的任务,并同时执行浏览器外部的操作。Cypress 与其他测试框架的基本区别在于 ... 阅读更多
2K+ 次浏览
我们可以在 Puppeteer 中处理框架。html 代码中的框架由 frames/iframe 标签表示。Puppeteer 可以通过从主页面切换到框架来处理框架。要使用框架内的元素,首先,我们必须借助定位器来识别框架。contentFrame 方法用于访问框架内的元素。语法const f = await page.$("frame[name='frame-bottom']") const m = await f.contentFrame()让我们看看框架内元素的 html 代码,并获取其中的文本 - BOTTOM。上图中突出显示的标签名称是 frame,并且 ... 阅读更多
231 次浏览
我们可以使用以下方法在 Puppeteer 中处理标签页:newPage() - 我们可以使用浏览器对象中提供的此方法打开一个新标签页。语法const p = await browser.newPage()close() - 我们可以使用此方法关闭打开的标签页。语法await p.close() close() - 我们可以使用浏览器对象中提供的此方法关闭所有打开的标签页。语法await browser.close()示例代码实现//添加 Puppeteer 库 const pt = require('puppeteer') pt.launch().then(async browser => { //浏览器新页面 const p = await browser.newPage(); //设置浏览器页面的视口 await p.setViewport({ width: 1000, height: ... 阅读更多
8K+ 次浏览
我们可以在 Rest Assured 的请求中传递多个 header。Web 服务在进行服务调用时可以接受 header 作为参数。header 以键值对的形式表示。在 Rest Assured 中传递多个 header 的方法不止一种:使用 header 方法以键值对的形式传递它们。语法 Response r = given() .baseUri("https://tutorialspoint.com/") .header("header1", "value1") .header("header2", "value2") .get("/about/about_careers.htm");使用 headers 方法将它们作为 Map 传递。语法 Map m = new HashMap(); m.put("header1", "value1"); m.put("header2, "value2"); Response r = given() .baseUri("https://tutorialspoint.com/") .headers(m) .get("/about/about_careers.htm");使用 headers 方法将它们作为 List 传递。语法 List h ... 阅读更多
1K+ 次浏览
我们可以在 WebdriverIO 中管理 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 对象或对象数组,并且 ... 阅读更多
5K+ 次浏览
我们可以在 Cypress 中创建 Mochawesome 报告。Cypress 与 Mocha 捆绑在一起,因此为 Mocha 生成的任何报告也可以与 Cypress 一起使用。Mochawesome 报告Mochawesome 报告是 Cypress 中最重要的报告之一。要安装 mochawesome,请运行以下命令: npm install mochawesome --save-dev要安装 mocha,请运行以下命令: npm install mocha --save-dev要合并 mochawesome json 报告,请运行以下命令: npm install mochawesome-merge --save-dev安装后,所有这些包都应该反映在 package.json 文件中。要将多个报告合并到一个报告中,请运行以下命令: npm run combine-reports在 cypress.json ... 阅读更多
283 次浏览
Cypress 的数据驱动测试是借助 fixture 实现的。Cypress fixture 用于维护和保存自动化测试数据。fixture 保存在 Cypress 项目的 fixtures 文件夹中(例如 example.json 文件)。它主要帮助我们从外部文件获取数据输入。Cypress fixtures 文件夹可以包含 JSON 或其他格式的文件,数据以“键值对”的形式维护。所有这些测试数据都可以被多个测试用例使用。所有 fixture 数据都必须在 before hook 块中声明。语法:cy.fixture(测试数据路径) cy.fixture(测试数据路径, 编码类型) ... 阅读更多