Best JavaScript code snippet using cypress
performance.js
Source:performance.js
...48 results += subscriptionTree.search(subscriptionPath, {decouple:true}).length;49 });50 expect(results / (DUPLICATE_KEYS * CLIENT_COUNT)).to.be(subscriptions.length);51 var endedSearches = Date.now();52 testLog('did ' + inserts + ' wildcard inserts in ' + (endedInsert - startedInsert) + ' milliseconds');53 testLog('did ' + searched + ' glob searches in ' + (endedSearches - startedSearches) + ' milliseconds, in a tree with += ' + inserts + ' nodes.');54 var perMillisecond = searched / (endedSearches - startedSearches);55 testLog(perMillisecond + ' per millisecond');56 testLog(perMillisecond * 1000 + ' per second');57 return done();58 });59 it('adds and verifies random wildcard subscriptions, wildstring mode', function (done) {60 this.timeout(300000);61 var subscriptions = random.randomPaths({62 duplicate: DUPLICATE_KEYS,63 count: SUBSCRIPTION_COUNT64 });65 var clients = random.string({66 count: CLIENT_COUNT67 });68 var subscriptionTree = new PareTree({mode:'wildstring'});69 var inserts = 0;70 var searched = 0;71 var startedInsert = Date.now();72 subscriptions.forEach(function (subscriptionPath) {73 clients.forEach(function (sessionId) {74 subscriptionPath = subscriptionPath.substring(0, subscriptionPath.length - 1) + '*';75 subscriptionTree.add(subscriptionPath, {76 key: sessionId,77 data: {78 test: "data"79 }80 });81 inserts++;82 if (inserts % 1000 == 0) console.log(inserts + ' inserted.');83 });84 });85 var endedInsert = Date.now();86 var startedSearches = Date.now();87 var results = 0;88 subscriptions.forEach(function (subscriptionPath) {89 searched++;90 results += subscriptionTree.search(subscriptionPath, {decouple:true}).length;91 });92 expect(results / (DUPLICATE_KEYS * CLIENT_COUNT)).to.be(subscriptions.length);93 var endedSearches = Date.now();94 testLog('did ' + inserts + ' wildcard inserts in ' + (endedInsert - startedInsert) + ' milliseconds');95 testLog('did ' + searched + ' wildcard searches in ' + (endedSearches - startedSearches) + ' milliseconds, in a tree with += ' + inserts + ' nodes.');96 var perMillisecond = searched / (endedSearches - startedSearches);97 testLog(perMillisecond + ' per millisecond');98 testLog(perMillisecond * 1000 + ' per second');99 return done();100 });101 it('adds and verifies random precise subscriptions, non-wildcard query path', function (done) {102 this.timeout(300000);103 var subscriptions = random.randomPaths({104 duplicate: DUPLICATE_KEYS,105 count: SUBSCRIPTION_COUNT106 });107 var clients = random.string({108 count: CLIENT_COUNT109 });110 var subscriptionTree = new PareTree();111 var inserts = 0;112 var searched = 0;113 var startedInsert = Date.now();114 subscriptions.forEach(function (subscriptionPath) {115 clients.forEach(function (sessionId) {116 subscriptionTree.add(subscriptionPath, {117 key: sessionId,118 data: {119 test: "data"120 }121 });122 inserts++;123 if (inserts % 1000 == 0) console.log(inserts + ' inserted.');124 });125 });126 var endedInsert = Date.now();127 var startedSearches = Date.now();128 var results = 0;129 subscriptions.forEach(function (subscriptionPath) {130 searched++;131 results += subscriptionTree.search(subscriptionPath, {decouple:true}).length;132 });133 expect(results / (DUPLICATE_KEYS * CLIENT_COUNT)).to.be(subscriptions.length);134 var endedSearches = Date.now();135 testLog('did ' + inserts + ' precise inserts in ' + (endedInsert - startedInsert) + ' milliseconds');136 testLog('did ' + searched + ' precise searches in ' + (endedSearches - startedSearches) + ' milliseconds, in a tree with += ' + inserts + ' nodes.');137 var perMillisecond = searched / (endedSearches - startedSearches);138 testLog(perMillisecond + ' per millisecond');139 testLog(perMillisecond * 1000 + ' per second');140 done();141 });142 it('adds and verifies random precise subscriptions, non-wildcard query path, wildstring mode', function (done) {143 this.timeout(300000);144 var subscriptions = random.randomPaths({145 duplicate: DUPLICATE_KEYS,146 count: SUBSCRIPTION_COUNT147 });148 var clients = random.string({149 count: CLIENT_COUNT150 });151 var subscriptionTree = new PareTree({mode:'wildstring'});152 var inserts = 0;153 var searched = 0;154 var startedInsert = Date.now();155 subscriptions.forEach(function (subscriptionPath) {156 clients.forEach(function (sessionId) {157 subscriptionTree.add(subscriptionPath, {158 key: sessionId,159 data: {160 test: "data"161 }162 });163 inserts++;164 if (inserts % 1000 == 0) console.log(inserts + ' inserted.');165 });166 });167 var endedInsert = Date.now();168 var startedSearches = Date.now();169 var results = 0;170 subscriptions.forEach(function (subscriptionPath) {171 searched++;172 results += subscriptionTree.search(subscriptionPath, {decouple:true}).length;173 });174 expect(results / (DUPLICATE_KEYS * CLIENT_COUNT)).to.be(subscriptions.length);175 var endedSearches = Date.now();176 testLog('did ' + inserts + ' precise inserts in ' + (endedInsert - startedInsert) + ' milliseconds');177 testLog('did ' + searched + ' precise searches in ' + (endedSearches - startedSearches) + ' milliseconds, in a tree with += ' + inserts + ' nodes.');178 var perMillisecond = searched / (endedSearches - startedSearches);179 testLog(perMillisecond + ' per millisecond');180 testLog(perMillisecond * 1000 + ' per second');181 done();182 });183 it('adds, verifies and removes by path random precise subscriptions', function (done) {184 this.timeout(300000);185 var subscriptions = random.randomPaths({186 count: SUBSCRIPTION_COUNT187 });188 var clients = random.string({189 count: CLIENT_COUNT190 });191 var subscriptionTree = new PareTree();192 var inserts = 0;193 var searched = 0;194 var startedInsert = Date.now();195 subscriptions.forEach(function (subscriptionPath) {196 clients.forEach(function (sessionId) {197 subscriptionTree.add(subscriptionPath, {198 key: sessionId,199 data: {200 test: "data"201 }202 });203 inserts++;204 if (inserts % 1000 == 0) console.log(inserts + ' inserted.');205 });206 });207 var endedInsert = Date.now();208 var startedRemoves = Date.now();209 var results = 0;210 subscriptions.forEach(function (subscriptionPath) {211 searched++;212 //console.log('removing:::', subscriptionPath);213 var result = subscriptionTree.remove(subscriptionPath).length;214 //console.log('result:::', result);215 results += result;216 });217 expect(results / CLIENT_COUNT).to.be(subscriptions.length);218 var endedRemoves = Date.now();219 testLog('did ' + inserts + ' precise inserts in ' + (endedInsert - startedInsert) + ' milliseconds');220 testLog('did ' + searched + ' precise removes in ' + (endedRemoves - startedRemoves) + ' milliseconds, in a tree with += ' + inserts + ' nodes.');221 var perMillisecond = searched / (endedRemoves - startedRemoves);222 testLog(perMillisecond + ' per millisecond');223 testLog(perMillisecond * 1000 + ' per second');224 done();225 });226 it('adds, verifies and removes by id random precise subscriptions', function (done) {227 this.timeout(300000);228 var subscriptions = random.randomPaths({229 count: SUBSCRIPTION_COUNT230 });231 var clients = random.string({232 count: CLIENT_COUNT233 });234 var subscriptionTree = new PareTree();235 var inserts = 0;236 var searched = 0;237 var startedInsert = Date.now();238 var toRemove = [];239 subscriptions.forEach(function (subscriptionPath) {240 clients.forEach(function (sessionId) {241 toRemove.push(subscriptionTree.add(subscriptionPath, {242 key: sessionId,243 data: {244 test: "data"245 }246 }));247 inserts++;248 if (inserts % 1000 == 0) console.log(inserts + ' inserted.');249 });250 });251 var endedInsert = Date.now();252 var startedRemoves = Date.now();253 var results = 0;254 toRemove.forEach(function (reference) {255 searched++;256 //console.log('removing:::', subscriptionPath);257 var result = subscriptionTree.remove(reference).length;258 //console.log('result:::', result);259 results += result;260 });261 expect(results / CLIENT_COUNT).to.be(subscriptions.length);262 var endedRemoves = Date.now();263 testLog('did ' + inserts + ' precise inserts in ' + (endedInsert - startedInsert) + ' milliseconds');264 testLog('did ' + searched + ' precise removes in ' + (endedRemoves - startedRemoves) + ' milliseconds, in a tree with += ' + inserts + ' nodes.');265 var perMillisecond = searched / (endedRemoves - startedRemoves);266 testLog(perMillisecond + ' per millisecond');267 testLog(perMillisecond * 1000 + ' per second');268 done();269 });270 var N_SUBSCRIPTION_COUNT = 10000;271 var SEARCHES = 10;272 it('searches ' + N_SUBSCRIPTION_COUNT + ' subscriptions,' + SEARCHES + ' times, no wildcard in search path', function (done) {273 this.timeout(60000);274 var subscriptions = random.randomPaths({275 duplicate: DUPLICATE_KEYS,276 count: N_SUBSCRIPTION_COUNT277 });278 var clients = random.string({279 count: CLIENT_COUNT280 });281 var subscriptionTree = new PareTree();282 var subscriptionResults = {};283 subscriptions.forEach(function (subscriptionPath) {284 clients.forEach(function (sessionId) {285 subscriptionTree.add(subscriptionPath.substring(0, subscriptionPath.length - 1) + '*', {286 key: sessionId,287 data: {288 test: "data"289 }290 });291 if (!subscriptionResults[sessionId]) subscriptionResults[sessionId] = {292 paths: {}293 };294 subscriptionResults[sessionId].paths[subscriptionPath] = true;295 });296 });297 var startedSearches = Date.now();298 var searched = 0;299 subscriptions.every(function (subscriptionPath) {300 searched++;301 subscriptionTree.search(subscriptionPath);302 return (searched != SEARCHES);303 });304 var endedSearches = Date.now();305 testLog('searched through ' + N_SUBSCRIPTION_COUNT * CLIENT_COUNT + ' subscriptions ' + SEARCHES + ' times, in ' + (endedSearches - startedSearches) + ' milliseconds');306 return done();307 });...
style-logger.spec.js
Source:style-logger.spec.js
...120 });121 it('asynchronously emits finish after logging is complete', function(done) {122 const testLog = logger();123 var cb = spyAsync().calls(2).cb(done);124 testLog(content); // lexical placement should not matter125 testLog.onfinish(cb);126 testLog(content);127 });128 });129 describe('output', function() {130 it('logs to stdout if no stream provided', function(done) {131 const testLog = logger();132 var _stdout = Hook_stdout();133 testLog(content);134 _stdout.unHook();135 expect(_stdout.logOut).to.contain(content);136 done()137 });138 });139 });140 describe('when logging to a stream', function() {141 describe('when passed a valid write stream', function(done) {142 const outFile = './test/output/out-file.txt';143 var outStream, testLog;144 beforeEach(function() {145 outStream = fs.createWriteStream(outFile);146 testLog = logger(outStream);147 });148 describe('signalling', function() {149 it('calls back after logging is complete with no args', function(done) {150 var cb = spyAsync().calls(1).context(outStream).cb(done);151 testLog(content, cb);152 });153 it('asynchronously emits finish after logging is complete', function(done) {154 var cb = spyAsync().calls(2).context(outStream).cb(done);155 testLog(content); // lexical placement should not matter156 testLog.onfinish(cb);157 testLog(content);158 });159 });160 describe('output', function() {161 it('logs to a stream if provided', function(done) {162 testLog(content);163 testLog.onfinish(function() {164 var s = new ManagedReadStream(outFile);165 s.readAll(function(body) {166 log.h1(body);167 expect(body, "file contents").to.contain(content);168 });169 done()170 })171 });172 });173 describe('write stream error handling', function(done) {174 it('it handles write errors', function(done) {175 var cbSpy = spyAsync()176 .context(outStream)177 .args([sinon.match.instanceOf(Error)]);178 testLog.onerror(cbSpy.cb(done));179 testLog(content, then);180 outStream.end();181 function then() {182 testLog(content);183 }184 });185 it('calls back on write error', function(done) {186 done();187 });188 });189 });190 describe('when the write stream throws', function() {191 const outFile = './nonexistent/output/out-file.txt';192 var outStream, cbSpy;193 beforeEach(function() {194 outStream = fs.createWriteStream(outFile);195 cbSpy = spyAsync()196 .context(outStream)197 .args([sinon.match.instanceOf(Error)]);198 });199 it('should catch file open error events', function(done) {200 var testLog = logger(outStream);201 testLog(content); // will only cb once because error is from open202 testLog.onerror(cbSpy.cb(done));203 testLog(content);204 });205 it('should call back log with file open error', function(done) {206 var testLog = logger(outStream);207 testLog(content, cbSpy.cb(done));208 });209 it('the log cb should overwrite the logger cb', function(done) {210 var cbSpy2 = sinon.spy();211 var testLog = logger(outStream, cbSpy2);212 testLog(content, cbSpy.cb(function() {213 expect(cbSpy2.callCount).to.equal(0);214 done()215 }216 ));217 });218 });219 });220});221function Hook_stdout(transf) {222 var self;223 return self = {224 unHook: HOOKstdout(function(txt) {225 self.logOut += `${txt}`;226 if(transf) return transf(txt);...
tests.js
Source:tests.js
1/*2BEGIN variable tests3*/4module ("Variables and Types");5test("variableModification tests", function( assert ){6 var out = variableModification( 6 );7 assert.expect( 7 );8 assert.equal(typeof out[0], 'number', 'plus5 is a number.');9 assert.equal(out[0], 11, 'Does add 5.');10 assert.equal(typeof out[1], 'string', 'asString is a string.');11 assert.equal(out[1], '6', 'asString is the right string.');12 assert.equal(typeof out[2], 'string', 'asStringFoo is a string.');13 assert.equal(out[2], 'Your Number is 6', 'Approprate string is returned.');14 assert.strictEqual(out[3], 6, 'a was not modified.');15});16test("isString tests", function( assert ){17 assert.expect( 4 );18 assert.ok(isString('foo bar'),'Identifies a string.');19 assert.ok(!isString(42),'Rejects a number.');20 assert.ok(!isString(null),'Rejects null.');21 assert.ok(!isString(new String('foo')),'Rejects string object.');22});23test("isNull tests", function( assert ){24 assert.expect( 5 );25 assert.ok(isNull(null),'Identifies null.');26 assert.ok(!isNull(42),'Rejects a number.');27 assert.ok(!isNull(undefined),'Rejects undefined.');28 assert.ok(!isNull(NaN),'Rejects NaN.');29 assert.ok(!isNull(new String('foo')),'Rejects string object.');30});31/*32END variable tests33*/34/*35BEGIN function tests36*/37module("functions");38test("uselessFunction tests", function(assert){39 assert.expect( 1 );40 assert.ok(uselessFunction() === null, 'uselessFunction returns null.');41});42test("bar function tests",function(assert){43 assert.expect( 4 );44 assert.equal(barType, 'string','bar was at one point not a function');45 var a = [1.5,1,5];46 var result = bar(a);47 assert.ok(result,'Returns success on valid input.');48 assert.deepEqual(a, [3,2,10], 'Correctly doubles array contents.');49 try{50 var result = false;51 if( bar(['nope']) === false){52 result = true;53 }54 }55 catch(e){56 if (e == 'studentTypeError' ){57 result = true;58 }59 }60 assert.strictEqual(result, true,'Correctly handles non-numbers.');61});62test("parseGit function tests",function(assert){63 assert.expect( 7 );64 var logs = ['3782618 Wed, 7 Jan 2015 21:42:26 -0800 "Initial commit"','c314332 Wed, 7 Jan 2015 22:02:38 -0800 "Add empty bio.md"'];65 var logsParsed = [new GitLog('3782618', new Date('Wed, 7 Jan 2015 21:42:26 -0800'), "Initial commit" ), new GitLog('c314332', new Date('Wed, 7 Jan 2015 22:02:38 -0800'), "Add empty bio.md" )];66 assert.ok(typeof parseGit == 'function', 'parseGit function exists.');67 var result = parseGit(logs);68 assert.equal(result[0].hash,logsParsed[0].hash,'Properly parses hash 0.');69 assert.equal(result[1].hash,logsParsed[1].hash,'Properly parses hash 1.');70 assert.equal(result[0].message,logsParsed[0].message,'Properly parses message 0.');71 assert.equal(result[1].message,logsParsed[1].message,'Properly parses message 1.');72 assert.equal(result[0].date.getTime(),logsParsed[0].date.getTime(),'Properly parses date 0.');73 assert.equal(result[1].date.getTime(),logsParsed[1].date.getTime(),'Properly parses date 1.');74});75/*76END function tests77*/78/*79BEGIN object tests80*/81module("Objects", {82 setup:function() {83 try{84 this.testLog = new MessageLog('TesterMcGee');85 }86 catch(e){87 console.log("Error creating MessageLog.");88 }89 }90});91test("returnObjectLiteral tests", function(assert){92 assert.expect( 2 );93 assert.equal(typeof returnObjectLiteral, 'function', 'returnObjectLiteral function exists');94 assert.deepEqual(returnObjectLiteral(), {'type':'Goldfish','brand':'Pepperidge Farm','flavor':'Cheddar','count':2000}, 'Returns the correct object.');95});96test("MessageLog constructor tests", function(assert){97 assert.expect( 2 );98 assert.equal(typeof MessageLog, 'function', 'MessageLog constructor exists.');99 assert.equal(typeof new MessageLog('foo'), 'object', 'Constructor constructs an object.');100});101test("MessageLog instance tests", function(assert){102 assert.expect( 7 );103 this.testLog.logMessage('I 0', 1);104 assert.equal(this.testLog.lastReceivedMessage(),'I 0','Records 1 received message.');105 assert.equal(this.testLog.totalReceived(),1,'Count reflects 1 received message.');106 this.testLog.logMessage('I 1', 1);107 this.testLog.logMessage('I 2', 1);108 this.testLog.logMessage('I 3', 1);109 this.testLog.logMessage('S 0', 0);110 this.testLog.logMessage('S 1', 0);111 this.testLog.logMessage('S 2', 0);112 this.testLog.logMessage('S 3', 0);113 this.testLog.logMessage('S 4', 0);114 this.testLog.logMessage('S 5', 0);115 assert.equal(this.testLog.totalReceived(),4,'Count reflects 4 received message.');116 assert.equal(this.testLog.totalSent(),6,'Count reflects 6 sent message.');117 assert.equal(this.testLog.getSentMessage(0),'S 5','Most recent message sent is "S 5"');118 assert.equal(this.testLog.getSentMessage(4),'S 1','5th Most recent message sent is "S 1"');119 assert.equal(typeof MessageLog.prototype.lastReceivedMessage, 'function', 'lastReceivedMessage was added to prototype');120});121test("Student instance",function(assert){122 assert.expect( 1 );123 assert.equal(myLog.totalReceived(), 3,'myLog received 3 messages.');124});125/*126END object tests...
scraping-challenge-05.js
Source:scraping-challenge-05.js
...16 const tab = await nick.newTab()17 await nick.deleteAllCookies()18 let cookies = await nick.getAllCookies()19 if (Array.isArray(cookies)) {20 testLog(`got an array of cookies`)21 testLog(`we have ${cookies.length} cookies`)22 }23 await tab.open("http://scraping-challenges.phantombuster.com/cookies")24 await tab.waitUntilVisible("div.container div.jumbotron h1")25 testLog("'wrong cookies' message is visible")26 await nick.setCookie({27 name: "phantomCookie",28 value: "sample_value",29 domain: "scraping-challenges.phantombuster.com"30 })31 cookies = await nick.getAllCookies()32 if (cookies.length >= 1) {33 testLog(`we have at least one cookie`)34 }35 for (const c of cookies) {36 if (c.value === "sample_value" && c.name === "phantomCookie") {37 testLog(`found a cookie with value sample_value and name phantomCookie`)38 }39 }40 await tab.open("http://scraping-challenges.phantombuster.com/cookies")41 await tab.waitUntilVisible(".panel-body")42 testLog("Page loaded")43 await tab.inject("tests/assets/jquery-3.2.1.min.js")44 testLog("Local jQuery injected")45 const result = await tab.evaluate(scrape)46 testLog("Evaluate done")47 testLog(`Tenth result: ${result[9].name}`)48 testLog(`Result size: ${result.length}`)49 await tab.setCookie({50 name: "test-cookie-1",51 value: "test-value-1",52 domain: "google.fr"53 })54 cookies = await tab.getAllCookies()55 if (cookies.length >= 2) {56 testLog(`we have at least two cookies`)57 }58 for (const c of cookies) {59 if (c.value === "test-value-1") {60 testLog(`we found our test-cookie-1`)61 }62 }63 await nick.deleteCookie("test-cookie-1", "google.fr")64 cookies = await tab.getAllCookies()65 if (cookies.length >= 1) {66 testLog(`we have at least one cookie`)67 }68 let found = false69 for (const c of cookies) {70 if (c.name === "test-cookie-1") {71 found = true72 console.log("We have found this cookie that should have been deleted...", JSON.stringify(c, undefined, 4))73 }74 }75 if (!found) {76 testLog(`we havent found the deleted cookie`)77 }78 await tab.deleteAllCookies()79 cookies = await tab.getAllCookies()80 if (cookies.length === 0) {81 testLog(`all cookies were deleted`)82 }83 nick.exit(0)84})()85.catch((err) => {86 console.log(err)87 nick.exit(1)...
form.js
Source:form.js
...5}6const checkUrl = (url, checkbox, color, date, email, number, radio, range, text) => {7 url = decodeURIComponent(url)8 if(url.indexOf(`checkbox=${(0 + checkbox)}`) >= 0)9 testLog(`Checkbox set to ${checkbox}`)10 else11 testLog("Checkbox set to false")12 if(url.indexOf(`color=${color}` >= 0))13 testLog(`Color set to ${color}`)14 if(url.indexOf(`date=${date}`) >= 0) {15 if (date === (new Date()).toISOString().slice(0, 10))16 testLog("Date set to today's date")17 else18 testLog(`Date set to ${date}`)19 }20 if(url.indexOf(`email=${email}`) >= 0)21 testLog(`Email set to ${email}`)22 if(url.indexOf(`number=${number}`) >= 0)23 testLog(`Number set to ${number}`)24 if(url.indexOf(`radio=${(0 + radio)}`) >= 0)25 testLog(`Radio set to ${radio}`)26 else27 testLog("Radio set to false")28 if(url.indexOf(`range=${range}`) >= 0)29 testLog(`Range set to ${range}`)30 if(url.indexOf(`text=${text.replace(/\s/g, "+")}`) >= 0)31 testLog(`Text set to ${text}`)32}33const testFill = async (tab, checkbox, color, date, email, number, radio, range, text, submit, file) => {34 await tab.fill("form", {35 "checkbox": checkbox,36 "color": color,37 "date": date,38 "email": email,39 "number": number,40 "radio": radio,41 "range": range,42 "text": text43 }, {submit: true})44 testLog("Form filled")45 await tab.wait(1000)46 testLog("Wait done")47 checkUrl(await tab.getUrl(), checkbox, color, date, email, number, radio, range, text)48}49;(async () => {50 const tab = await nick.newTab()51 await tab.open("localhost:8080/form.html")52 testLog("Page opened")53 await tab.waitUntilVisible("form")54 testLog("Page loaded")55 const content = await tab.getContent()56 if (content.indexOf("<!-- HTML COMMENTS -->") >= 0)57 testLog("Get content done")58 var date = new Date();59 var old = new Date("2000-01-01");60 var currentDate = date.toISOString().slice(0,10)61 var oldDate = old.toISOString().slice(0, 10)62 await testFill(tab, true, "#35C2DB", currentDate, "test@phantombuster.com", 20, true, 1, "NickJS test")63 await testFill(tab, false, "#35C2CB", oldDate, "tst@phantombuster.com", 10, false, 10, "NickJS2 test")64 nick.exit()65})()66.catch((err) => {67 console.log(err)68 nick.exit(1)...
elements.js
Source:elements.js
...6;(async () => {7 const tab = await nick.newTab()8 await tab.open("localhost:8080/elements.html")9 await tab.waitWhileVisible("#first")10 testLog("Wait while visible done")11 await tab.waitUntilVisible("#second")12 testLog("Wait until visible done")13 await tab.waitUntilPresent("#third")14 testLog("Wait until present done")15 await tab.waitWhilePresent("#fourth")16 testLog("Wait while present done")17 try {18 await tab.waitWhileVisible("#second", 500)19 } catch (error) {20 testLog("Wait while visible fail")21 }22 try {23 await tab.waitUntilVisible("#first", 500)24 } catch (error) {25 testLog("Wait until visible fail")26 }27 try {28 await tab.waitUntilPresent("#fourth", 500)29 } catch (error) {30 testLog("Wait until present fail")31 }32 try {33 await tab.waitWhilePresent("#third", 500)34 } catch (error) {35 testLog("Wait while present fail")36 }37 if (!await tab.isVisible("#first")) {38 testLog("Is visisble fail")39 }40 if (await tab.isPresent("#third")) {41 testLog("Is present done")42 }43 tab.isVisible("#second", (err, visible) => {44 if (err) {45 console.log(err)46 nick.exit(1)47 }48 if (visible) {49 testLog("Is visible done")50 }51 tab.isPresent("#fourth", (err, present) => {52 if (err) {53 console.log(err)54 nick.exit(1)55 }56 if (!present) {57 testLog("Is present fail")58 }59 nick.exit(0)60 })61 })62})()63.catch((err) => {64 console.log(err)65 nick.exit(1)...
scraping-challenge-03.js
Source:scraping-challenge-03.js
...14 })15 done(null, $.makeArray(data))16}17nick.newTab().then((tab) => {18 testLog("Tab created")19 testLog(`User-Agent is: ${nick.options.userAgent}`)20 tab.open("http://scraping-challenges.phantombuster.com/useragent")21 .then(() => {22 testLog("Page opened")23 return tab.waitUntilVisible(".panel-body")24 })25 .then(() => {26 testLog("Page loaded")27 return tab.inject("http://code.jquery.com/jquery-3.2.1.slim.min.js")28 })29 .then(() => {30 testLog("Inject distant file done")31 return tab.screenshot("tests/download/scraping-challenge-03.jpg", { fullPage: false })32 })33 .then(() => {34 testLog("Screenshot done")35 return tab.evaluate(scrape)36 })37 .then((result) => {38 testLog("Evaluate done")39 testLog(`Tenth result: ${result[9].name}`)40 testLog(`Number of results: ${result.length}`)41 nick.exit()42 })43})44.catch((err) => {45 console.log(err)46 nick.exit(1)...
Pedigree.js
Source:Pedigree.js
1var allTestLog = [];2var testLog = [];3const expect = (actual) => ({4 toEqual: (expected) => {5 if (actual === expected) { return testLog[`expect(${actual}).toEqual(${expected})`] = true }6 else { return testLog[`expect(${actual}).toEqual(${expected})`] = false };7 },8 toThrowError: (expectedError) => {9 try { actual() }10 catch(error) {11 if (expectedError === (error.message)) { return testLog[`expect(${actual}).toThrowError(${expectedError})`] = true };12 {return testLog[`expect(${actual}).toThrowError(${expectedError})`] = error ;};13 }14 return testLog[`expect(${actual}).toThrowError(${expectedError})`] = false;15 },16 not: function(matcher) {17 this.f = new Function(`return this.${matcher}`);18 testLog[`expect(${actual}).not('${matcher}')`] = (this.f() === true ? false : ( this.f() === false ? true : this.f() ) );19 delete testLog[`expect(${actual}).${matcher}`]20 }21});22const it = (description, test) => {23 // run befores -- using a callback?24 testLog = [];25 test();26 allTestLog[description] = testLog;...
Using AI Code Generation
1require('cypress-log-to-output').install(on, config)2require('cypress-log-to-output').install(on, config)3require('cypress-log-to-output').install(on, config)4require('cypress-log-to-output').install(on, config)5require('cypress-log-to-output').install(on, config)6require('cypress-log-to-output').install(on, config)7require('cypress-log-to-output').install(on, config)8require('cypress-log-to-output').install(on, config)9require('cypress-log-to-output').install(on, config)10require('cypress-log-to-output').install(on, config)11require('cypress-log-to-output').install(on, config)12require('cypress-log-to-output').install(on, config)13require('cypress-log-to-output').install(on, config)14require('cypress-log-to-output').install(on, config)15require('cypress-log-to-output').install(on, config)16require('cypress-log-to-output').install(on, config)17require('cypress-log-to-output').install(on, config)18require('cypress-log-to-output').install(on, config)
Using AI Code Generation
1describe('My First Test', function() {2 it('Does not do much!', function() {3 cy.testLog('test log message');4 })5})6Cypress.Commands.add('testLog', (message) => {7 Cypress.log({8 });9});10Cypress.Commands.add('testLog', (message) => {11 Cypress.log({12 });13});14Cypress.Commands.add('testLog', (message) => {15 Cypress.log({16 });17});18Cypress.Commands.add('testLog', (message) => {19 Cypress.log({20 });21});22Cypress.Commands.add('testLog', (message) => {23 Cypress.log({24 });25});26Cypress.Commands.add('testLog', (message) => {27 Cypress.log({28 });29});30Cypress.Commands.add('testLog', (message) => {31 Cypress.log({32 });33});34Cypress.Commands.add('testLog', (message) => {35 Cypress.log({36 });37});38Cypress.Commands.add('testLog', (message) => {39 Cypress.log({40 });41});
Using AI Code Generation
1Cypress.Commands.add('testLog', (message) => {2 cy.log(message)3})4it('test', () => {5 cy.testLog('This is a test log')6})
Using AI Code Generation
1cy.testLog('Test log message');2Cypress.Commands.add('testLog', (msg) => {3 console.log(msg);4});5module.exports = (on, config) => {6 on('task', {7 log: message => {8 console.log(message);9 }10 })11}12describe('Test', () => {13 it('Test', () => {14 cy.task('log', 'Task log message');15 });16});
Using AI Code Generation
1Cypress.Commands.add('testLog', (message) => {2 cy.log(message);3});4describe('Test Log', () => {5 it('should log', () => {6 cy.testLog('My message');7 });8});
Using AI Code Generation
1it('test', () => {2 cy.testLog('test')3})4Cypress.Commands.add('testLog', (text) => {5 cy.log(text)6})7Cypress.Commands.add('testLog', (text) => {8 cy.log(text)9})10declare namespace Cypress {11 interface Chainable {12 testLog(text: string): Chainable<Element>13 }14}15declare namespace Cypress {16 interface Chainable {17 testLog(text: string): Chainable<Element>18 }19}20declare namespace Cypress {21 interface Chainable {22 testLog(text: string): Chainable<Element>23 }24}25declare namespace Cypress {26 interface Chainable {27 testLog(text: string): Chainable<Element>28 }29}30declare namespace Cypress {31 interface Chainable {32 testLog(text: string): Chainable<Element>33 }34}35declare namespace Cypress {36 interface Chainable {37 testLog(text: string): Chainable<Element>38 }39}40declare namespace Cypress {41 interface Chainable {42 testLog(text: string): Chainable<Element>43 }44}45declare namespace Cypress {46 interface Chainable {47 testLog(text: string): Chainable<Element>48 }49}50declare namespace Cypress {51 interface Chainable {52 testLog(text: string): Chainable<Element>53 }54}55declare namespace Cypress {56 interface Chainable {
Using AI Code Generation
1import { testLog } from 'cypress-log';2testLog('Test Log');3testLog('Test Log', 'success');4testLog('Test Log', 'warning');5testLog('Test Log', 'error');6testLog('Test Log', 'info');7testLog('Test Log', 'success', 'Test');8testLog('Test Log', 'success', 'Test', 'Test');9testLog('Test Log', 'success', 'Test', 'Test', 'Test');10testLog('Test Log', 'success', 'Test', 'Test', 'Test', 'Test');11testLog('Test Log', 'success', 'Test', 'Test', 'Test', 'Test', 'Test');12testLog('Test Log', 'success', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');13testLog('Test Log', 'success', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');14testLog('Test Log', 'success', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');15testLog('Test Log', 'success', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');16testLog('Test Log', 'success', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');17testLog('Test Log', 'success', 'Test', 'Test
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!!