如果想从头学起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
前言
- 前面介绍 Cypress 如何通过命令行运行,就是采用 cypress run 或 cypress open 命令,但这不是 Cypress 唯一的运行方式
- Cypress 还允许你将它视为一个 Node Module 来运行,然后通过Node.js运行Cypress,这种方式可以更加灵活地定制测试行为
- 当想在运行后直接访问测试结果时,此功能很有用
如何有用
重点
模块 API支持两个命令: cypress.run() 和 cypress.open()
cypress.run() 命令详解
栗子
代码
// 导入 cypress 模块 const cypress = require('cypress') 执行 run 命令 cypress.run({ spec: './cypress/integration/00_examples/actions.spec.js' }) .then((results) => { 打印结果 console.log(results) }) .catch((err) => 抓取错误信息并打印 console.error(err) })
运行命令
可以在 cmd 窗口或 npm 脚本中运行下列命令
node 1_run.js
运行结果
最终运行的是 actions.spec.js 这个测试用例文件
参数列表
和 cypress run 命令行运行的参数一样
命令返回结果
cypress.run() 返回一个Promise对象,该 Promise 包含测试结果对象(类似 json 格式的数据),典型的运行可能会返回以下内容:
{ startedTestsAt: '2020-10-23T06:22:53.210Z',endedTestsAt: '2020-10-23T06:23:23.342Z'1Failed: 00'cypress/reporters/custom_reporter.js'nulltrue } ],browserPath: ''browserName: 'electron'browserVersion: '85.0.4183.121'sversion: '10.0.18363'sversion: '5.4.0'fig: { defaultCommandTimeout: 10000'bar''test' },configFile: 'C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress.json''http://localhost:7077/''dev''MyCypress'false'wj65e'browsers: [ [Object],[Object],[Object] ],animationdistanceThreshold: 5ecurity: 'C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress\\component'rewriting: polyfill: 'C:\\Users\\user\\Desktop\\py\\MyCypress' },fixturesFolder: 'C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress\\fixtures'noreTestFiles: '*.hot-update.js''C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress\\integration''__cypress'0'C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress\\plugins\\index.js''/__cypress/reporter'30000'C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress\\screenshots''__socket.io'sktimeout: 60000'C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress\\videos'660'/xhrs/'distanceThreshold: [Object],baseUrl: [Object],blockHosts: [Object],browsers: [Object],chromeWebSecurity: [Object],componentFolder: [Object],defaultCommandTimeout: [Object],env: [Object],execTimeout: [Object],experimentalSourcerewriting: [Object],experimentalComponentTesting: [Object],experimentalFetchpolyfill: [Object],experimentalNetworkStubbing: [Object],fileServerFolder: [Object],firefoxGcInterval: [Object],fixturesFolder: [Object],hosts: [Object],ignoreTestFiles: [Object],includeShadowDom: [Object],integrationFolder: [Object],modifyObstructiveCode: [Object],nodeVersion: [Object],numTestsKeptInMemory: [Object],pageLoadTimeout: [Object],pluginsFile: [Object],port: [Object],projectId: [Object],reporter: [Object],reporterOptions: [Object],requestTimeout: [Object],responseTimeout: [Object],retries: [Object],screenshotOnRunFailure: [Object],screenshotsFolder: [Object],supportFile: [Object],tasktimeout: [Object],testFiles: [Object],trashAssetsBeforeRuns: [Object],userAgent: [Object],video: [Object],videoCompression: [Object],videosFolder: [Object],videoUploadOnPasses: [Object],viewportHeight: [Object],viewportWidth: [Object],waitForAnimations: [Object],watchForFileChanges: [Object],configFile: [Object],version: [Object] },parentTestsFolder: 'C:\\Users\\user\\Desktop\\py\\MyCypress\\cypress'display: 'MyCypress\\cypress''examples'ednodeVersion: '12.16.3'browserUrl: 'http://localhost:59756/__/''__cypress/xhrs/' } }
cypress.open() 命令详解
栗子
代码
执行 open 命令 cypress.open({ 命令参数列表 config: { baseUrl: 'http://localhost:8080''/products'node 2_open.js
运行结果
在 2_open.js 设置的 config 或 env 会当成 CLI 模式下设置的
参数列表
和 cypress open 命令行运行的参数一样
待更新
完整的 module api 项目
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。