Best JavaScript code snippet using cypress
cypress.js
Source:cypress.js
1(function() {2 var Promise, _, cp, exit, exit0, exitErr, log, path;3 require("./environment");4 _ = require("lodash");5 cp = require("child_process");6 path = require("path");7 Promise = require("bluebird");8 log = require('./log');9 exit = function(code) {10 if (code == null) {11 code = 0;12 }13 log("about to exit with code", code);14 return process.exit(code);15 };16 exit0 = function() {17 return exit(0);18 };19 exitErr = function(err) {20 log('exiting with err', err);21 return require("./errors").log(err).then(function() {22 return exit(1);23 });24 };25 module.exports = {26 isCurrentlyRunningElectron: function() {27 return !!(process.versions && process.versions.electron);28 },29 runElectron: function(mode, options) {30 return Promise["try"]((function(_this) {31 return function() {32 if (_this.isCurrentlyRunningElectron()) {33 return require("./modes")(mode, options);34 } else {35 return new Promise(function(resolve) {36 var cypressElectron, fn;37 cypressElectron = require("@packages/electron");38 fn = function(code) {39 log("electron finished with", code);40 return resolve({41 failures: code42 });43 };44 return cypressElectron.open(".", require("./util/args").toArray(options), fn);45 });46 }47 };48 })(this));49 },50 openProject: function(options) {51 return require("./open_project").open(options.project, options);52 },53 runServer: function(options) {},54 start: function(argv) {55 if (argv == null) {56 argv = [];57 }58 require("./logger").info("starting desktop app", {59 args: argv60 });61 log("starting cypress server");62 return require("./util/app_data").ensure().then((function(_this) {63 return function() {64 var mode, options;65 options = require("./util/args").toObject(argv);66 switch (false) {67 case !options.removeIds:68 options.mode = "removeIds";69 break;70 case !options.version:71 options.mode = "version";72 break;73 case !options.smokeTest:74 options.mode = "smokeTest";75 break;76 case !options.returnPkg:77 options.mode = "returnPkg";78 break;79 case !options.logs:80 options.mode = "logs";81 break;82 case !options.clearLogs:83 options.mode = "clearLogs";84 break;85 case !options.getKey:86 options.mode = "getKey";87 break;88 case !options.generateKey:89 options.mode = "generateKey";90 break;91 case options.exitWithCode == null:92 options.mode = "exitWithCode";93 break;94 case !(options.record || options.ci):95 options.mode = "record";96 break;97 case !options.runProject:98 options.mode = "headless";99 break;100 default:101 if (options.mode == null) {102 options.mode = "headed";103 }104 }105 mode = options.mode;106 options = _.omit(options, "mode");107 if (_.isArray(options.spec)) {108 options.spec = options.spec[0];109 }110 return _this.startInMode(mode, options);111 };112 })(this));113 },114 startInMode: function(mode, options) {115 log("start in mode %s with options %j", mode, options);116 switch (mode) {117 case "removeIds":118 return require("./project").removeIds(options.projectPath).then(function(stats) {119 if (stats == null) {120 stats = {};121 }122 return console.log("Removed '" + stats.ids + "' ids from '" + stats.files + "' files.");123 }).then(exit0)["catch"](exitErr);124 case "version":125 return require("./modes/pkg")(options).get("version").then(function(version) {126 return console.log(version);127 }).then(exit0)["catch"](exitErr);128 case "smokeTest":129 return require("./modes/smoke_test")(options).then(function(pong) {130 return console.log(pong);131 }).then(exit0)["catch"](exitErr);132 case "returnPkg":133 return require("./modes/pkg")(options).then(function(pkg) {134 return console.log(JSON.stringify(pkg));135 }).then(exit0)["catch"](exitErr);136 case "logs":137 return require("./gui/logs").print().then(exit0)["catch"](exitErr);138 case "clearLogs":139 return require("./gui/logs").clear().then(exit0)["catch"](exitErr);140 case "getKey":141 return require("./project").getSecretKeyByPath(options.projectPath).then(function(key) {142 return console.log(key);143 }).then(exit0)["catch"](exitErr);144 case "generateKey":145 return require("./project").generateSecretKeyByPath(options.projectPath).then(function(key) {146 return console.log(key);147 }).then(exit0)["catch"](exitErr);148 case "exitWithCode":149 return require("./modes/exit")(options).then(exit)["catch"](exitErr);150 case "headless":151 return this.runElectron(mode, options).get("failures").then(exit)["catch"](exitErr);152 case "headed":153 return this.runElectron(mode, options);154 case "record":155 return this.runElectron(mode, options).get("failures").then(exit)["catch"](exitErr);156 case "server":157 return this.runServer(options);158 case "openProject":159 return this.openProject(options);160 default:161 throw new Error("Cannot start. Invalid mode: '" + mode + "'");162 }163 }164 };...
publish.js
Source:publish.js
...39 New to ${chalk.green(opts.server)} and need an account?40 ${chalk.green('dat register')}41 Explore public dats at ${chalk.blue('datbase.org/explore')}42 `)43 return exitErr(loginErr)44 }45 opts.createIfMissing = false // publish must always be a resumed archive46 Dat(opts.dir, opts, function (err, dat) {47 if (err && err.name === 'MissingError') return exitErr('No existing dat in this directory. Create a dat before publishing.')48 else if (err) return exitErr(err)49 dat.joinNetwork() // join network to upload metadata50 var datjson = DatJson(dat.archive, { file: path.join(dat.path, 'dat.json') })51 datjson.read(publish)52 function publish (_, data) {53 // ignore datjson.read() err, we'll prompt for name54 // xtend dat.json with opts55 var datInfo = xtend({56 name: opts.name,57 url: 'dat://' + encoding.toStr(dat.key), // force correct url in publish? what about non-dat urls?58 title: opts.title,59 description: opts.description60 }, data)61 var welcome = output(`62 Publishing dat to ${chalk.green(opts.server)}!63 `)64 console.log(welcome)65 if (datInfo.name) return makeRequest(datInfo)66 prompt.message = ''67 prompt.start()68 prompt.get({69 properties: {70 name: {71 description: chalk.magenta('dat name'),72 pattern: /^[a-zA-Z0-9-]+$/,73 message: `A dat name can only have letters, numbers, or dashes.\n Like ${chalk.bold('cool-cats-12meow')}`,74 required: true75 }76 }77 }, function (err, results) {78 if (err) return exitErr(err)79 datInfo.name = results.name80 makeRequest(datInfo)81 })82 }83 function makeRequest (datInfo) {84 console.log(`Please wait, '${chalk.bold(datInfo.name)}' will soon be ready for its great unveiling...`)85 client.dats.create(datInfo, function (err, resp, body) {86 if (err) {87 if (err.message) {88 if (err.message === 'timed out') {89 return exitErr(output(`${chalk.red('\nERROR: ' + opts.server + ' could not connect to your computer.')}90 Troubleshoot here: ${chalk.green('https://docs.datproject.org/troubleshooting#networking-issues')}91 `))92 }93 var str = err.message.trim()94 if (str === 'jwt expired') return exitErr(`Session expired, please ${chalk.green('dat login')} again`)95 return exitErr('ERROR: ' + err.message) // node error96 }97 // server response errors98 return exitErr('ERROR: ' + err.toString())99 }100 if (body.statusCode === 400) return exitErr(new Error(body.message))101 datjson.write(datInfo, function (err) {102 if (err) return exitErr(err)103 // TODO: write published url to dat.json (need spec)104 var msg = output(`105 We ${body.updated === 1 ? 'updated' : 'published'} your dat!106 ${chalk.blue.underline(`${opts.server}/${whoami.username}/${datInfo.name}`)}107 `)// TODO: get url back? it'd be better to confirm link than guess username/datname structure108 console.log(msg)109 if (body.updated === 1) {110 console.log(output(`111 ${chalk.dim.green('Cool fact #21')}112 ${opts.server} will live update when you are sharing your dat!113 You only need to publish again if your dat link changes.114 `))115 } else {116 console.log(output(`...
create.js
Source:create.js
...52 // Force certain options53 opts.errorIfExists = true54 console.log(welcome)55 Dat(opts.dir, opts, function (err, dat) {56 if (err && err.name === 'ExistsError') return exitErr('\nArchive already exists.\nYou can use `dat sync` to update.')57 if (err) return exitErr(err)58 outro = output(`59 Created empty Dat in ${dat.path}/.dat60 Now you can add files and share:61 * Run ${chalk.green(`dat share`)} to create metadata and sync.62 * Copy the unique dat link and securely share it.63 ${chalk.blue(`dat://${dat.key.toString('hex')}`)}64 `)65 if (opts.yes) return done()66 console.log(intro)67 var datjson = DatJson(dat.archive, { file: path.join(opts.dir, 'dat.json') })68 fs.readFile(path.join(opts.dir, 'dat.json'), 'utf-8', function (err, data) {69 if (err || !data) return doPrompt()70 data = JSON.parse(data)71 debug('read existing dat.json data', data)72 doPrompt(data)73 })74 function doPrompt (data) {75 if (!data) data = {}76 var schema = {77 properties: {78 title: {79 description: chalk.magenta('Title'),80 default: data.title || '',81 // pattern: /^[a-zA-Z\s\-]+$/,82 // message: 'Name must be only letters, spaces, or dashes',83 required: false84 },85 description: {86 description: chalk.magenta('Description'),87 default: data.description || ''88 }89 }90 }91 prompt.override = { title: opts.title, description: opts.description }92 prompt.message = '' // chalk.green('> ')93 // prompt.delimiter = ''94 prompt.start()95 prompt.get(schema, writeDatJson)96 function writeDatJson (err, results) {97 if (err) return exitErr(err) // prompt error98 if (!results.title && !results.description) return done()99 datjson.create(results, done)100 }101 }102 function done (err) {103 if (err) return exitErr(err)104 console.log(outro)105 }106 })107 function exitErr (err) {108 if (err && err.message === 'canceled') {109 console.log('')110 console.log(outro)111 process.exit(0)112 }113 console.error(err)114 process.exit(1)115 }...
unpublish.js
Source:unpublish.js
...32 Welcome to ${chalk.green(`dat`)} program!33 ${chalk.bold('You must login before unpublishing.')}34 ${chalk.green('dat login')}35 `)36 return exitErr(loginErr)37 }38 opts.createIfMissing = false // unpublish dont try to create new one39 Dat(opts.dir, opts, function (err, dat) {40 if (err) return exitErr(err)41 // TODO better error msg for non-existing archive42 if (!dat.writable) return exitErr('Sorry, you can only publish a dat that you created.')43 var datjson = DatJson(dat.archive, { file: path.join(dat.path, 'dat.json') })44 datjson.read(function (err, data) {45 if (err) return exitErr(err)46 if (!data.name) return exitErr('Try `dat unpublish <name>` with this dat, we are having trouble reading it.')47 confirm(data.name)48 })49 })50 function confirm (name) {51 console.log(`Unpublishing '${chalk.bold(name)}' from ${chalk.green(whoami.server)}.`)52 prompt.message = ''53 prompt.colors = false54 prompt.start()55 prompt.get([{56 name: 'sure',57 description: 'Are you sure? This cannot be undone. [y/n]',58 pattern: /^[a-zA-Z\s-]+$/,59 message: '',60 required: true61 }], function (err, results) {62 if (err) return console.log(err.message)63 if (results.sure === 'yes' || results.sure === 'y') makeRequest(name)64 else exitErr('Cancelled.')65 })66 }67 function makeRequest (name) {68 client.dats.delete({ name: name }, function (err, resp, body) {69 if (err && err.message) exitErr(err.message)70 else if (err) exitErr(err.toString())71 if (body.statusCode === 400) return exitErr(new Error(body.message))72 console.log(`Removed your dat from ${whoami.server}`)73 process.exit(0)74 })75 }76}77function exitErr (err) {78 console.error(err)79 process.exit(1)...
register.js
Source:register.js
...55 prompt.override = opts56 prompt.message = ''57 prompt.start()58 prompt.get(schema, function (err, results) {59 if (err) return exitErr(err)60 opts.server = results.server61 makeRequest(results)62 })63 function makeRequest (user) {64 var client = Registry(opts)65 client.register({66 email: user.email,67 username: user.username,68 password: user.password69 }, function (err) {70 if (err && err.message) return exitErr(err.message)71 else if (err) return exitErr(err.toString())72 console.log(output(`73 Created account on ${chalk.green(opts.server)}!74 Login to start publishing: ${chalk.green(`dat login`)}75 `))76 process.exit(0)77 })78 }79}80function exitErr (err) {81 console.error(err)82 process.exit(1)...
login.js
Source:login.js
...50 prompt.override = opts51 prompt.message = ''52 prompt.start()53 prompt.get(schema, function (err, results) {54 if (err) return exitErr(err)55 opts.server = results.server56 makeRequest(results)57 })58 function makeRequest (user) {59 var client = Registry(opts)60 client.login({61 email: user.email,62 password: user.password63 }, function (err, resp, body) {64 if (err && err.message) return exitErr(err.message)65 else if (err) return exitErr(err.toString())66 console.log(output(`67 Logged you in to ${chalk.green(opts.server)}!68 Now you can publish dats and share:69 * Run ${chalk.green(`dat publish`)} to publish a dat!70 * View & Share your dats at ${opts.server}71 `))72 process.exit(0)73 })74 }75}76function exitErr (err) {77 console.error(err)78 process.exit(1)79}
retry.js
Source:retry.js
1// Inspired by https://github.com/zeit/async-retry2// Without the retry dependency (1 kB gzipped +)3async function retry(tryFunction, options = {}) {4 const { retries = 3 } = options;5 let tries = 0;6 let output = null;7 let exitErr = null;8 const bail = (err) => {9 exitErr = err;10 };11 while (tries < retries) {12 tries += 1;13 try {14 // eslint-disable-next-line no-await-in-loop15 output = await tryFunction({ tries, bail });16 break;17 } catch (err) {18 if (tries >= retries) {19 throw err;20 }21 }22 }23 if (exitErr) {24 throw exitErr;25 }26 return output;27}...
Using AI Code Generation
1import { exitErr } from '@cypress/webpack-preprocessor';2module.exports = (on, config) => {3 on('file:preprocessor', exitErr);4};5const { exitErr } = require('@cypress/webpack-preprocessor');6module.exports = (on, config) => {7 on('file:preprocessor', exitErr);8};9const { exitErr } = require('@cypress/webpack-preprocessor');10module.exports = (on, config) => {11 on('file:preprocessor', exitErr);12};13const { exitErr } = require('@cypress/webpack-preprocessor');14module.exports = (on, config) => {15 on('file:preprocessor', exitErr);16};17describe('My First Test', () => {18 it('Does not do much!', () => {19 expect(true).to.equal(true);20 });21});22describe('My First Test', () => {23 it('Does not do much!', () => {24 expect(true).to.equal(false);25 });26});27describe('My First Test', () => {28 it('Does not do much!', () => {29 expect(true).to.equal(false);30 });31});
Using AI Code Generation
1require('cypress-terminal-report/src/installLogsCollector')();2require('cypress-terminal-report/src/installLogsPrinter')();3require('cypress-terminal-report/src/installLogsCollector')();4require('cypress-terminal-report/src/installLogsPrinter')();5require('cypress-terminal-report/src/installLogsCollector')();6require('cypress-terminal-report/src/installLogsPrinter')();7require('cypress-terminal-report/src/installLogsCollector')();8require('cypress-terminal-report/src/installLogsPrinter')();9require('cypress-terminal-report/src/installLogsCollector')();10require('cypress-terminal-report/src/installLogsPrinter')();11require('cypress-terminal-report/src/installLogsCollector')();12require('cypress-terminal-report/src/installLogsPrinter')();13require('cypress-terminal-report/src/installLogsCollector')();14require('cypress-terminal-report/src/installLogsPrinter')();15require('cypress-terminal-report/src/installLogsCollector')();16require('cypress-terminal-report/src/installLogsPrinter')();17require('cypress-terminal-report/src/installLogsCollector')();18require('cypress-terminal-report/src/installLogsPrinter')();19require('cypress-terminal-report/src/installLogsCollector')();20require('cypress-terminal-report/src/installLogsPrinter')();21require('cypress-terminal-report/src/installLogsCollector')();22require('cypress-terminal-report/src/install
Using AI Code Generation
1it('should exit with an error', () => {2 cy.exitErr(1)3})4Cypress.Commands.add('exitErr', (code) => {5 cy.task('exitErr', code)6})7module.exports = (on, config) => {8 on('task', {9 exitErr(code) {10 process.exit(code)11 },12 })13}14it('should exit with an error', () => {15 cy.exitErr(1)16})17Cypress.Commands.add('exitErr', (code) => {18 cy.task('exitErr', code)19})20module.exports = (on, config) => {21 on('task', {22 exitErr(code) {23 process.exit(code)24 },25 })26}27Cypress.Commands.add('exitErr', (code) => {28 cy.task('exitErr', code)29})30module.exports = (on, config) => {31 on('task', {32 exitErr(code) {33 process.exit(code)34 },35 })36}37Cypress.Commands.add('exitErr', (code) => {38 cy.task('exitErr', code)39})40module.exports = (on, config) => {41 on('task', {42 exitErr(code) {43 process.exit(code)44 },45 })46}
Using AI Code Generation
1describe('Test', () => {2 it('should exit with error', () => {3 cy.exitErr('This is an error message');4 });5});6Cypress.Commands.add('exitErr', (msg) => {7 console.error(msg);8 Cypress.runner.stop();9});10module.exports = (on) => {11 on('task', {12 exitErr(msg) {13 console.error(msg);14 process.exit(1);15 },16 });17};18{19}20{21 "scripts": {22 }23}24describe('Test', () => {25 it('should exit with error', () => {26 cy.task('exitErr', 'This is an error message');27 });28});29{30}31{32 "scripts": {33 }34}35describe('Test', () => {36 it('should exit with error', () => {37 cy.task('exitErr', 'This is an error message');38 });39});40{41}42{43 "scripts": {44 }45}46describe('Test', () => {47 it('should exit with error', () => {48 cy.task('exitErr', 'This is an error message');49 });50});51{52}53{54 "scripts": {55 }56}57describe('
Using AI Code Generation
1describe('Test', () => {2 it('test', () => {3 cy.get('input').type('cypress')4 cy.get('button').click()5 cy.get('a').contains('Cypress').click()6 cy.url().should('include', 'cypress')7 cy.get('h1').should('contain', 'Cypress')8 cy.get('h2').should('contain', 'Cypress')9 })10})11Cypress.on('fail', (err, runnable) => {12 Cypress.log({13 consoleProps: () => {14 return {15 }16 },17 })18})19Cypress.Commands.add('exitErr', { prevSubject: true }, (subject, message) => {20 Cypress.log({21 consoleProps: () => {22 return {23 }24 },25 })26 throw new Error(message)27})28module.exports = (on, config) => {29}30{31 "env": {32 }33}34describe('Test', () => {35 it('test', () => {36 cy.get('input').type('cypress')37 cy.get('button').click()38 cy.get('a').contains('Cypress').click()39 cy.url().should('include', 'cypress')40 cy.get('h1').should('contain', 'C
Using AI Code Generation
1describe('Cypress test', function() {2 it('should fail', function() {3 cy.get('div').should('have.class', 'foo');4 });5});6Cypress.on('fail', (err, runnable) => {7 Cypress.log({8 consoleProps: () => {9 return {10 };11 }12 });13 throw err;14});15module.exports = (on, config) => {16 on('task', {17 exitErr: (message) => {18 console.error(message);19 process.exit(1);20 }21 });22};23{24 "reporterOptions": {25 "mochaJunitReportersReporterOptions": {26 },27 "mochaMultiReporterReporterOptions": {28 "mochaJunitReportersReporterOptions": {29 }30 }31 }32}33"scripts": {34}
Using AI Code Generation
1const exitErr = require('cypress-exit-error')2exitErr()3const exitErr = require('cypress-exit-error')4exitErr()5const exitErr = require('cypress-exit-error')6exitErr()7const exitErr = require('cypress-exit-error')8exitErr()9const exitErr = require('cypress-exit-error')10exitErr()11const exitErr = require('cypress-exit-error')12exitErr()13const exitErr = require('cypress-exit-error')14exitErr()15const exitErr = require('cypress-exit-error')16exitErr()17const exitErr = require('cypress-exit-error')18exitErr()19const exitErr = require('cypress-exit-error')20exitErr()21const exitErr = require('cypress-exit-error')22exitErr()
Using AI Code Generation
1cy.exitErr('error message', true)2Cypress.Commands.add('exitErr', (msg, exit) => {3 cy.task('exitErr', { msg, exit })4})5module.exports = (on, config) => {6 on('task', {7 exitErr({ msg, exit }) {8 console.error(msg)9 if (exit) {10 process.exit(1)11 }12 },13 })14}15const cypress = require('cypress')16const cypressConfig = require('./cypress.json')17const cypressConfigEnv = require('./cypress.env.json')18cypress.run({19})20cy.exitErr('error message', true)21Cypress.Commands.add('exitErr', (msg, exit) => {22 cy.task('exitErr', { msg, exit })23})24module.exports = (on, config) => {25 on('task', {26 exitErr({ msg, exit }) {27 console.error(msg)28 if (exit) {29 process.exit(1)30 }31 },32 })33}34const cypress = require('cypress')35const cypressConfig = require('./cypress.json')36const cypressConfigEnv = require('./cypress.env.json')37cypress.run({38})
Cypress is a renowned Javascript-based open-source, easy-to-use end-to-end testing framework primarily used for testing web applications. Cypress is a relatively new player in the automation testing space and has been gaining much traction lately, as evidenced by the number of Forks (2.7K) and Stars (42.1K) for the project. LambdaTest’s Cypress Tutorial covers step-by-step guides that will help you learn from the basics till you run automation tests on LambdaTest.
You can elevate your expertise with end-to-end testing using the Cypress automation framework and stay one step ahead in your career by earning a Cypress certification. Check out our Cypress 101 Certification.
Watch this 3 hours of complete tutorial to learn the basics of Cypress and various Cypress commands with the Cypress testing at LambdaTest.
Get 100 minutes of automation test minutes FREE!!