Best JavaScript code snippet using appium-xcuitest-driver
experiments-delete-spec.js
Source:experiments-delete-spec.js
1'use strict';2require('mocha');3const it = require('mocha').it;4require('co-mocha');5const _ = require('lodash');6const chai = require('chai');7const assert = chai.assert;8const should = chai.should();9const r = require('rethinkdbdash')({10 db: process.env.MCDB || 'materialscommons',11 port: process.env.MCDB_PORT || 3081512});13const mcapi_base = '../../../../servers/mcapi';14const backend_base = mcapi_base + "/db/model";15const build_project_base = mcapi_base + "/build-demo";16const dbModelUsers = require(backend_base + '/users');17const projects = require(backend_base + '/projects');18const directories = require(backend_base + '/directories');19const experiments = require(backend_base + '/experiments');20const processes = require(backend_base + '/processes');21const experimentDatasets = require(backend_base + '/experiment-datasets');22const samples = require(backend_base + '/samples');23const testHelpers = require('./test-helpers');24const experimentDelete = require(backend_base + '/experiment-delete');25const base_project_name = "Test directory";26let random_name = function () {27 let number = Math.floor(Math.random() * 10000);28 return base_project_name + number;29};30let userId = "test@test.mc";31let user = null;32let project = null;33let experiment = null;34let processList = null;35let sampleList = null;36let fileList = null;37let datasetList = null;38let experimentNote = null;39let experimentTask = null;40let notes_count = 0;41before(function* () {42 console.log('before experiments-delete-spec.js');43 user = yield dbModelUsers.getUser(userId);44 assert.isOk(user, "No test user available = " + userId);45 assert.equal(userId, user.id);46 console.log('done before experiments-delete-spec.js');47});48describe('Feature - Experiments: ', function () {49 describe('Delete Experiment: ', function () {50 it('does not delete an experiment with a published dataset', function* () {51 this.timeout(80000); // test take up to 8 seconds52 yield setup();53 let project_id = project.id;54 assert.isOk(project_id);55 let experiment_id = experiment.id;56 assert.isOk(experiment_id);57 let idList = [];58 for (let i = 0; i < datasetList.length; i++) {59 idList.push(datasetList[i].id);60 }61 yield testDatasets({assertExists: true});62 // publish one of the datasets63 let datasetId = idList[0];64 let results = yield experimentDatasets.publishDataset(datasetId);65 assert.isOk(results);66 assert.isOk(results.val);67 assert.isOk(results.val.published);68 assert(results.val.published);69 // delete experiment - fails70 results = yield experimentDelete.deleteExperimentFull(project_id, experiment_id);71 assert.isOk(results);72 assert.isOk(results.error);73 yield testDatasets({assertExists: true});74 });75 it('does not delete an experiment with a dataset that has an assigned DOI', function* () {76 this.timeout(80000); // test take up to 8 seconds77 yield setup();78 let project_id = project.id;79 assert.isOk(project_id);80 let experiment_id = experiment.id;81 assert.isOk(experiment_id);82 let idList = [];83 for (let i = 0; i < datasetList.length; i++) {84 idList.push(datasetList[i].id);85 }86 yield testDatasets({assertExists: true});87 // fake a doi on one of the datasets88 let datasetId = idList[0];89 let fakeDOI = "fakeDOI";90 let status = yield r.table('datasets').get(datasetId).update({doi: fakeDOI});91 if (status.replaced != 1) {92 assert.fail(`Update of DOI in dataset, ${datasetId}, failed.`);93 }94 // delete experiment - fails95 let results = yield experimentDelete.deleteExperimentFull(project_id, experiment_id);96 assert.isOk(results);97 assert.isOk(results.error);98 yield testDatasets({assertExists: true});99 });100 it('deletes experiment and all its parts', function* () {101 this.timeout(90000); // test take up to 9 seconds102 yield setup();103 let project_id = project.id;104 assert.isOk(project_id);105 let experiment_id = experiment.id;106 assert.isOk(experiment_id);107 yield testDatasets({assertExists: true});108 yield testBestMearureHistroy({assertExists: true});109 yield testProcessesSamples({assertExists: true});110 yield testFileLinks({assertExists: true});111 yield testNotes({assertExists: true});112 // delete experiment113 let results = yield experimentDelete114 .deleteExperimentFull(project_id, experiment_id, {deleteProcesses: true, dryRun: false});115 checkResults(results);116 yield checkLinks(experiment_id);117 yield testDatasets({assertExists: false});118 yield testBestMearureHistroy({assertExists: false});119 yield testProcessesSamples({assertExists: false});120 yield testFileLinks({assertExists: false});121 yield testNotes({assertExists: false});122 });123 it('with deleteProcess false - deletes experiment, but not process, samples, etc.', function* () {124 this.timeout(80000); // test take up to 8 seconds125 yield setup();126 let project_id = project.id;127 assert.isOk(project_id);128 let experiment_id = experiment.id;129 assert.isOk(experiment_id);130 yield testDatasets({assertExists: true});131 yield testBestMearureHistroy({assertExists: true});132 yield testProcessesSamples({assertExists: true});133 yield testFileLinks({assertExists: true});134 yield testNotes({assertExists: true});135 // delete experiment136 let results = yield experimentDelete137 .deleteExperimentFull(project_id, experiment_id, {deleteProcesses: false, dryRun: false});138 checkResultsForNotDeleteProcess(results);139 yield checkLinks(experiment_id);140 yield testDatasets({assertExists: false});141 yield testBestMearureHistroy({assertExists: true});142 yield testProcessesSamples({assertExists: true});143 yield testFileLinks({assertExists: false});144 yield testNotes({assertExists: false});145 });146 it.skip('with dry run true, delete process true - shows all will be deleted', function* () {147 this.timeout(80000); // test take up to 8 seconds148 yield setup();149 let project_id = project.id;150 assert.isOk(project_id);151 let experiment_id = experiment.id;152 assert.isOk(experiment_id);153 yield testDatasets({assertExists: true});154 yield testBestMearureHistroy({assertExists: true});155 yield testProcessesSamples({assertExists: true});156 yield testFileLinks({assertExists: true});157 yield testNotes({assertExists: true});158 // delete experiment159 let results = yield experimentDelete160 .deleteExperimentFull(project_id, experiment_id, {deleteProcesses: true, dryRun: true});161 checkResults(results);162 yield checkLinks(experiment_id, {forDryRun: true});163 yield testDatasets({assertExists: true});164 yield testBestMearureHistroy({assertExists: true});165 yield testProcessesSamples({assertExists: true});166 yield testFileLinks({assertExists: true});167 yield testNotes({assertExists: true});168 });169 it.skip('with dry run true, delete process false - shows some will be deleted', function* () {170 this.timeout(80000); // test take up to 8 seconds171 yield setup();172 let project_id = project.id;173 assert.isOk(project_id);174 let experiment_id = experiment.id;175 assert.isOk(experiment_id);176 yield testDatasets({assertExists: true});177 yield testBestMearureHistroy({assertExists: true});178 yield testProcessesSamples({assertExists: true});179 yield testFileLinks({assertExists: true});180 yield testNotes({assertExists: true});181 // delete experiment182 let results = yield experimentDelete183 .deleteExperimentFull(project_id, experiment_id, {deleteProcesses: false, dryRun: true});184 checkResultsForNotDeleteProcess(results);185 yield checkLinks(experiment_id, {forDryRun: true});186 yield testDatasets({assertExists: true});187 yield testBestMearureHistroy({assertExists: true});188 yield testProcessesSamples({assertExists: true});189 yield testFileLinks({assertExists: true});190 yield testNotes({assertExists: true});191 });192 });193});194function* setup() {195 let valOrError = yield testHelpers.createDemoTestProject(user);196 assert.isUndefined(valOrError.error, "Unexpected error from createDemoProjectForUser: " + valOrError.error);197 let results = valOrError.val;198 project = results.project;199 experiment = results.experiment;200 processList = results.processList;201 sampleList = results.sampleList;202 fileList = results.fileList;203 assert.equal(project.otype, "project");204 assert.equal(project.owner, userId);205 datasetList = yield testHelpers.createDatasetList(experiment, processList, userId);206 // Note: create fake sample that is not part of a process for testing207 results = yield r.table('samples').insert({'name': 'fake sample', 'otype': 'sample', 'owner': 'noone'});208 let key = results.generated_keys[0];209 yield r.table('experiment2sample').insert({sample_id: key, experiment_id: experiment.id});210 yield r.table('project2sample').insert({sample_id: key, project_id: project.id});211 yield setUpFakeNotes();212}213function checkResults(results) {214 assert.isOk(results);215 assert.isOk(results.val);216 assert.isOk(results.val.datasets);217 assert.equal(results.val.datasets.length, 2);218 assert.isOk(results.val.best_measure_history);219 assert.equal(results.val.best_measure_history.length, 1);220 assert.isOk(results.val.processes);221 assert.equal(results.val.processes.length, 5);222 assert.isOk(results.val.samples);223 assert.equal(results.val.samples.length, 8);224 assert.isOk(results.val.notes);225 assert.equal(results.val.notes.length, 1);226 assert.isOk(results.val.experiments);227 assert.equal(results.val.experiments.length, 1);228 assert.equal(results.val.experiments[0], experiment.id);229}230function checkResultsForNotDeleteProcess(results) {231 assert.isOk(results);232 assert.isOk(results.val);233 assert.isOk(results.val.datasets);234 assert.equal(results.val.datasets.length, 2);235 assert.isOk(results.val.best_measure_history);236 assert.equal(results.val.best_measure_history.length, 0);237 assert.isOk(results.val.processes);238 assert.equal(results.val.processes.length, 0);239 assert.isOk(results.val.samples);240 assert.equal(results.val.samples.length, 0);241 assert.isOk(results.val.notes);242 assert.equal(results.val.notes.length, 1);243 assert.isOk(results.val.experiments);244 assert.equal(results.val.experiments.length, 1);245 assert.equal(results.val.experiments[0], experiment.id);246}247function* checkLinks(experiment_id, options) {248 let forDryRun = options && options.forDryRun;249 let tables = [250 'experiment2datafile',251 'experiment2dataset',252 'experiment2process',253 'experiment2sample',254 'project2experiment'255 ];256 if (forDryRun) {257 let lengths = [16, 2, 1, 1, 5, 8, 1];258 for (let i = 0; i < tables.length; i++) {259 let table = tables[i];260 let list = yield r.table(table).getAll(experiment_id, {index: 'experiment_id'});261 let expectedLength = lengths[i];262 let l = list.length;263 let message = `missing links in ${table} for experment id = ${experiment_id}`264 assert.equal(l, expectedLength, message);265 }266 } else {267 for (let i = 0; i < tables.length; i++) {268 let table = tables[i];269 let list = yield r.table(table).getAll(experiment_id, {index: 'experiment_id'});270 let l = list.length;271 let message = `expected no links in ${table}, but found ${l} for experment id = ${experiment_id}`272 assert.equal(l, 0, message);273 }274 }275}276function* testDatasets(options) {277 let datasetCount = 0;278 let processCount = 0;279 let experimentCount = 0;280 if (options && options.assertExists) {281 datasetCount = 2;282 processCount = 10;283 experimentCount = 2;284 }285 let idList = [];286 for (let i = 0; i < datasetList.length; i++) {287 idList.push(datasetList[i].id);288 }289 let check = yield experimentDatasets.getDatasetsForExperiment(experiment.id);290 let dataset_list = check.val;291 assert.isOk(dataset_list);292 assert.equal(dataset_list.length, datasetCount);293 check = yield r.table('dataset2process').getAll(r.args([...idList]), {index: 'dataset_id'});294 assert.isOk(check);295 assert.equal(check.length, processCount);296 check = yield r.table('experiment2dataset').getAll(r.args([...idList]), {index: 'dataset_id'});297 assert.isOk(check);298 assert.equal(check.length, experimentCount);299}300function* testBestMearureHistroy(options) {301 let count = 0;302 if (options && options.assertExists) {303 count = 1;304 }305 let idList = yield r.table('project2sample')306 .getAll(project.id, {index: 'project_id'})307 .eqJoin('sample_id', r.table('samples')).zip()308 .eqJoin('sample_id', r.table('sample2propertyset'), {index: 'sample_id'}).zip()309 .eqJoin('property_set_id', r.table('propertysets')).zip()310 .eqJoin('property_set_id', r.table('propertyset2property'), {index: 'property_set_id'}).zip()311 .eqJoin('property_id', r.table('properties')).zip()312 .eqJoin('property_id', r.table('best_measure_history'), {index: 'property_id'}).zip()313 .getField('property_id');314 assert.isOk(idList);315 assert.equal(idList.length, count);316}317function* testProcessesSamples(options) {318 let processCount = 0;319 let sampleCount = 0;320 if (options && options.assertExists) {321 processCount = 5;322 sampleCount = 8;323 }324 let sampleList = yield r.table('project2sample')325 .getAll(project.id, {index: 'project_id'})326 .eqJoin('sample_id', r.table('samples')).zip()327 .getField('sample_id');328 assert.isOk(sampleList);329 assert.equal(sampleList.length, sampleCount);330 let results = yield processes.getProjectProcesses(project.id);331 assert.isOk(results);332 assert.isOk(results.val);333 let procList = results.val;334 assert.equal(procList.length, processCount);335}336function* testFileLinks(options) {337 let count = 0;338 if (options && options.assertExists) {339 count = 16;340 }341 let idList = [];342 for (let i = 0; i < fileList.length; i++) {343 idList.push(fileList[i].id);344 }345 let linkList = yield r.table('experiment2datafile').getAll(r.args(idList), {index: 'datafile_id'});346 assert.isOk(linkList);347 assert.equal(linkList.length, count);348}349function* testNotes(options) {350 let counts = [0, 0, 0, 0];351 if (options && options.assertExists) {352 counts = [1, notes_count];353 }354 let countOfNotes = counts[0];355 let countOfNoteItems = counts[1];356 let id_list = [];357 for (let i = 0; i < processList.length; i++) {358 id_list.push(processList[i].id);359 }360 for (let i = 0; i < sampleList.length; i++) {361 id_list.push(sampleList[i].id);362 }363 for (let i = 0; i < fileList.length; i++) {364 id_list.push(fileList[i].id);365 }366 let entities = yield r.table('note2item').getAll(r.args(id_list), {index: 'item_id'});367 assert.equal(entities.length, countOfNoteItems);368 let noteIdSet = new Set();369 for (let i = 0; i < entities.length; i++) {370 noteIdSet = noteIdSet.add(entities[i].note_id);371 }372 assert.equal(noteIdSet.size, countOfNotes);373}374function* setUpFakeNotes() {375 // set up fake note data376 let fake_note_entry = {377 title: 'Fake note entry for testing',378 note: 'Test of fake note',379 owner: project.owner,380 projectId: project.id,381 };382 let insert_msg = yield r.table('notes').insert(fake_note_entry);383 let noteId = insert_msg.generated_keys[0];384 let entities = [];385 for (let i = 0; i < processList.length; i++) {386 let note2item = {387 item_id: processList[i].id,388 item_type: 'process',389 note_id: noteId390 };391 entities.push(note2item);392 }393 for (let i = 0; i < sampleList.length; i++) {394 let note2item = {395 item_id: sampleList[i].id,396 item_type: 'sample',397 note_id: noteId398 };399 entities.push(note2item);400 }401 for (let i = 0; i < fileList.length; i++) {402 let note2item = {403 item_id: fileList[i].id,404 item_type: 'files',405 note_id: noteId406 };407 entities.push(note2item);408 }409 insert_msg = yield r.table('note2item').insert(entities);410 assert.equal(insert_msg.generated_keys.length, entities.length);411 notes_count = entities.length;412 yield testNotes({assertExists: true});...
test.js
Source:test.js
...8 casper.start(partialURL, function() {9 this.wait(30000, function() {10 test.assertTitle('Real-Time Mexico City Air Quality Index',11 'homepage title is the one expected');12 test.assertExists('svg g path', 'station square exists');13 test.assertExists('canvas', 'canvas exists');14 test.assertExists('img.leaflet-tile-loaded', 'map tiles exist');15 });16 });17 casper.thenOpen(partialURL + '/es/index.html', function() {18 this.wait(30000, function() {19 test.assertExists('svg g path', 'station square exists');20 test.assertExists('canvas', 'canvas exists');21 test.assertExists('img.leaflet-tile-loaded', 'map tiles exist');22 });23 });24 casper.thenOpen(partialURL + '/es/temperature.html', function() {25 this.wait(30000, function() {26 test.assertExists('svg g path', 'station square exists');27 test.assertExists('canvas', 'canvas exists');28 test.assertExists('img.leaflet-tile-loaded', 'map tiles exist');29 });30 });31 casper.thenOpen(partialURL + '/temperature.html', function() {32 this.wait(30000, function() {33 test.assertExists('svg g path', 'station square exists');34 test.assertExists('canvas', 'canvas exists');35 test.assertExists('img.leaflet-tile-loaded', 'map tiles exist');36 });37 });38 casper.thenOpen(partialURL + '/wind.html', function() {39 this.wait(30000, function() {40 test.assertExists('svg g path', 'station square exists');41 test.assertExists('canvas', 'canvas exists');42 test.assertExists('img.leaflet-tile',43 'en wind map tiles exist');44 });45 });46 casper.thenOpen(partialURL + '/es/wind.html', function() {47 this.wait(30000, function() {48 test.assertExists('svg g path', 'station square exists');49 test.assertExists('canvas', 'canvas exists');50 test.assertExists('img.leaflet-tile-loaded',51 'es wind map tiles exist');52 });53 });54 casper.thenOpen(partialURL + '/es/ozone.html', function() {55 this.wait(30000, function() {56 test.assertExists('div.line-chart svg path',57 'small multiple line chart exists');58 test.assertEval(function() {59 return __utils__60 .findAll('div.line-chart svg path').length >= 10;61 }, 'should have lots of charts');62 });63 });64 casper.thenOpen(partialURL + '/ozone.html', function() {65 this.wait(30000, function() {66 test.assertExists('div.line-chart svg path',67 'small multiple line chart exists');68 test.assertEval(function() {69 return __utils__70 .findAll('div.line-chart svg path').length >= 10;71 }, 'should have lots of charts');72 });73 });74 casper.thenOpen(partialURL + '/es/pm10.html', function() {75 this.wait(30000, function() {76 test.assertExists('div.line-chart svg path',77 'small multiple line chart exists');78 });79 });80 casper.thenOpen(partialURL + '/pm10.html', function() {81 this.wait(30000, function() {82 test.assertExists('div.line-chart svg path',83 'small multiple line chart exists');84 });85 });86 casper.thenOpen(partialURL + '/es/so2.html', function() {87 this.wait(30000, function() {88 test.assertExists('div.line-chart svg path',89 'small multiple line chart exists');90 });91 });92 casper.thenOpen(partialURL + '/so2.html', function() {93 this.wait(30000, function() {94 test.assertExists('div.line-chart svg path',95 'small multiple line chart exists');96 });97 });98 casper.thenOpen(partialURL + '/es/no2.html', function() {99 this.wait(30000, function() {100 test.assertExists('div.line-chart svg path',101 'small multiple line chart exists');102 });103 });104 casper.thenOpen(partialURL + '/no2.html', function() {105 this.wait(30000, function() {106 test.assertExists('div.line-chart svg path',107 'small multiple line chart exists');108 });109 });110 casper.thenOpen(partialURL + '/es/co.html', function() {111 this.wait(30000, function() {112 test.assertExists('div.line-chart svg path',113 'small multiple line chart exists');114 });115 });116 casper.thenOpen(partialURL + '/co.html', function() {117 this.wait(30000, function() {118 test.assertExists('div.line-chart svg path',119 'small multiple line chart exists');120 });121 });122 casper.thenOpen(partialURL + '/es/nox.html', function() {123 this.wait(30000, function() {124 test.assertExists('div.line-chart svg path',125 'small multiple line chart exists');126 });127 });128 casper.thenOpen(partialURL + '/nox.html', function() {129 this.wait(30000, function() {130 test.assertExists('div.line-chart svg path',131 'small multiple line chart exists');132 });133 });134 casper.thenOpen(partialURL + '/es/pm25.html', function() {135 this.wait(30000, function() {136 test.assertExists('div.line-chart svg path',137 'small multiple line chart exists');138 });139 });140 casper.thenOpen(partialURL + '/pm25.html', function() {141 this.wait(30000, function() {142 test.assertExists('div.line-chart svg path',143 'small multiple line chart exists');144 });145 });146 casper.thenOpen(partialURL + '/es/about.html');147 casper.thenOpen(partialURL + '/about.html');148 casper.on('page.error', function(msg, trace) {149 this.echo('Error: ' + msg, 'ERROR');150 this.echo('file: ' + trace[0].file, 'WARNING');151 this.echo('line: ' + trace[0].line, 'WARNING');152 this.echo('function: ' + trace[0]['function'], 'WARNING');153 errors.push(msg);154 test.fail('console error');155 });156 casper.on('resource.received', function(resource) {...
af.annonsera.utan.konto.js
Source:af.annonsera.utan.konto.js
...53 }54}55function controllingPageExist_Exists(test) {56 test.assertTextDoesntExist("UTVECKLINGSMILJà - (WS/UTV2/U1)", "Inte i Utvecklingsmiljön");57 test.assertExists('form[name="aspnetForm"]', 'ASP.NET-sidan finns');58 test.assertTitle("Annonsera utan konto - Arbetsförmedlingen", "Sidtiteln på Annonsera utan konto finns");59}60function controllingElementsExist_Exists(test) {61 casper.echo("Knappar");62 test.assertExists('input[name$="btnRensa1"]', "");63 test.assertExists('input[name$="btnFortsatt1"]', "");64 test.assertExists('input[name$="btnRensa2"]', "");65 test.assertExists('input[name$="btnFortsatt2"]', "");66 casper.echo("\nInformation om företaget");67 test.assertExists('input[name$="txtForetag"]', "");68 test.assertExists('input[name$="txtOrgNr"]', "");69 test.assertExists('input[name$="txtBesoksadress"]', "");70 test.assertExists('input[name$="txtPostadress"]', "");71 test.assertExists('input[name$="txtPostnummer"]', "");72 test.assertExists('input[name$="txtOrt"]', "");73 test.assertExists('input[name$="txtTelefon"]', "");74 test.assertExists('input[name$="txtFax"]', "");75 test.assertExists('input[name$="txtVaxel"]', "");76 test.assertExists('input[name$="txtHemsida"]', "");77 test.assertExists('input[name$="txtEpost"]', "");78 test.assertExists('textarea[name$="txtForetagsbeskrivning"]', "");79 casper.echo("\nInformation om ledig tjänst");80 test.assertExists('input[name$="txtArbetsplats"]', "");81 test.assertExists('input[name$="txtArbetsplatsPostnummer"]', "");82 test.assertExists('input[name$="txtArbetsplatsOrt"]', "");83 test.assertExists('input[name$="txtYrkesbenamning"]', "");84 test.assertExists('textarea[name$="txtArbetsuppgifter"]', "");85 test.assertExists('textarea[name$="txtKvalifikationer"]', "");86 casper.echo("\nAnställningsvillkor");87 test.assertExists('input[name$="txtTilltradesdatum"]', "");88 test.assertExists('select[name$="ddAnstallningstyp"]', "");89 test.assertExists('select[name$="ddErfarenhet"]', "");90 test.assertExists('select[name$="ddVaraktighet"]', "");91 test.assertExists('select[name$="ddArbetstid"]', "");92 test.assertExists('input[name$="txtArbetstidOvrigt"]', "");93 test.assertExists('select[name$="ddLoneform"]', "");94 test.assertExists('input[name$="txtLoneformOvrigt"]', "");95 test.assertExists('textarea[name$="txtOvrigavillkor"]', "");96 casper.echo("\nAnsökan");97 test.assertExists('input[name$="txtAnsokanSenastDatum"]', "");98 test.assertExists('input[name$="txtAnsokanReferensnummer"]', "");99 test.assertExists('input[name$="cbxAnsokanSkriftlig"]', "");100 test.assertExists('textarea[name$="txtAnsokanAndraUppgifter"]', "");101 casper.echo("\nKontaktpersoner");102 test.assertExists('input[name$="txtKpers1Funktion"]', "");103 test.assertExists('input[name$="txtKpers1Namn"]', "");104 test.assertExists('input[name$="txtKpers1Epost"]', "");105 test.assertExists('input[name$="txtKpers1Telefon"]', "");106 test.assertExists('input[name$="txtKpers1Fax"]', "");107 test.assertExists('input[name$="txtKpers2Funktion"]', "");108 test.assertExists('input[name$="txtKpers2Namn"]', "");109 test.assertExists('input[name$="txtKpers2Epost"]', "");110 test.assertExists('input[name$="txtKpers2Telefon"]', "");111 test.assertExists('input[name$="txtKpers2Fax"]', "");112 test.assertExists('input[name$="txtKpers3Funktion"]', "");113 test.assertExists('input[name$="txtKpers3Namn"]', "");114 test.assertExists('input[name$="txtKpers3Epost"]', "");115 test.assertExists('input[name$="txtKpers3Telefon"]', "");116 test.assertExists('input[name$="txtKpers3Fax"]', "");117 casper.echo("\nInformation till arbetsförmedlingen");118 test.assertExists('input[name$="txtAfAnnonseraFrom"]', "");119 test.assertExists('input[name$="txtAfAnnonseraTom"]', "");120 test.assertExists('textarea[name$="txtAfOvrigaUpplysningar"]', "");121}122function fillFormCorrectly_OnlyMandatory_FilledCorrectly(test) {123 casper.fillSelectors('form[name="aspnetForm"]', {124 ////Information om företaget125 'input[name$="txtForetag"]': 'CasperJS_txtForetag',126 'input[name$="txtOrgNr"]': '0123456789',127 'input[name$="txtBesoksadress"]': 'CasperJS_txtBesoksadress',128 'input[name$="txtPostadress"]': 'CasperJS_txtPostadress',129 'input[name$="txtPostnummer"]': '12345',130 'input[name$="txtOrt"]': 'CasperJS_txtOrt',131 'input[name$="txtTelefon"]': '123456789',132 'textarea[name$="txtForetagsbeskrivning"]': 'CasperJS_txtForetagsbeskrivning',133 'input[name$="txtYrkesbenamning"]': 'CasperJS_txtYrkesbenamning',134 'textarea[name$="txtArbetsuppgifter"]': 'CasperJS_txtArbetsuppgifter',...
onepage-guest.js
Source:onepage-guest.js
...6 casper.start(mage.getDirectUrl('apparel.html'), function () {7 test.assertHttpStatus(200);8 test.assertUrlMatch(mage.getDirectUrl('apparel.html'));9 // check that the home page has the link login10 test.assertExists('button.button.btn-cart:first-child');11 this.click('button.button.btn-cart:first-child');12 })13 .waitForUrl(mage.getDirectUrl('coalesce-functioning-on-impatience-t-shirt.html'), function() {14 test.assertHttpStatus(200);15 test.assertUrlMatch(mage.getDirectUrl('coalesce-functioning-on-impatience-t-shirt.html'));16 this.evaluate(function() {17 var elmt = document.querySelector('select#attribute525');18 elmt.selectedIndex = 2;19 elmt.onchange();20 });21 // check that the home page has the link login22 test.assertExists('button.button.btn-cart');23 this.click('button.button.btn-cart');24 })25 .waitForUrl(mage.getUrl('checkout/cart'), function() {26 test.assertHttpStatus(200);27 test.assertUrlMatch(mage.getUrl('checkout/cart'));28 test.assertExists('.messages .success-msg');29 test.assertElementCount('#shopping-cart-table tbody tr', 1);30 test.assertExists('.cart .totals .checkout-types li button.button');31 this.click('.btn-checkout');32 })33 .waitForUrl(mage.getUrl('checkout/onepage'), function() {34 test.assertHttpStatus(200);35 test.assertExists('input[name="checkout_method"]');36 test.assertExists('#onepage-guest-register-button');37 38 this.evaluate(function() {39 document.getElementById('login:guest').checked = true;40 checkout.setMethod();41 });42 test.pass('Try to go trough checkout as Guest');43 })44 /* Billing address step */45 .waitUntilVisible('#opc-billing', function() {46 test.assertExists('input[name="billing[firstname]"]');47 test.assertExists('input[name="billing[lastname]"]');48 test.assertExists('input[name="billing[company]"]');49 test.assertExists('input[name="billing[email]"]');50 test.assertExists('input[name="billing[street][]"]');51 test.assertExists('input[name="billing[city]"]');52 test.assertExists('select[name="billing[region_id]"]');53 test.assertExists('input[name="billing[postcode]"]');54 test.assertExists('select[name="billing[country_id]"]');55 test.assertExists('input[name="billing[telephone]"]');56 test.assertExists('input[name="billing[fax]"]');57 test.assertExists('input[name="billing[use_for_shipping]"]');58 this.fill('form#co-billing-form', {59 'billing[firstname]' : login_user_firstname,60 'billing[lastname]' : login_user_lastname,61 'billing[company]' : user_address_company,62 'billing[email]' : login_user_username,63 'billing[street][]' : user_address_street,64 'billing[city]' : user_address_city,65 'billing[postcode]' : user_address_postcode,66 'billing[telephone]' : user_address_telephone,67 'billing[fax]' : user_address_fax68 }, false);69 /* Set country and region_id dropdowns */70 this.evaluate(function(regionId, countryId) {71 function setSelectedValue(selectObj, valueToSet) {72 for (var i = 0; i < selectObj.options.length; i++) {73 if (selectObj.options[i].text== valueToSet) {74 selectObj.options[i].selected = true;75 return;76 }77 }78 }79 try {80 var regionIdObject = document.getElementById('billing:region_id');81 var countryIdObject = document.getElementById('billing:country_id');82 83 setSelectedValue(regionIdObject, regionId);84 setSelectedValue(countryIdObject, countryId);85 document.getElementById('billing:use_for_shipping_yes').checked = true;86 billing.save();87 } catch (err) {88 console.log(err);89 }90 }, { regionId: user_address_region, countryId: user_address_country });91 test.pass('Filling the billing address form and use this address as shipping');92 })93 /* Shipping method step */94 .waitUntilVisible('#checkout-step-shipping_method', function() {95 test.assertExists('.sp-methods');96 this.evaluate(function() {97 shippingMethod.save();98 });99 test.pass('Using flat rate as shipping method');100 })101 /* Payment method step */102 .waitUntilVisible('#checkout-step-payment', function() {103 this.evaluate(function() {104 document.getElementById('p_method_checkmo').checked = true;105 payment.save();106 });107 test.pass('Using "Check / Money order" as payment method');108 })109 /* Order review step */110 .waitUntilVisible('#checkout-step-review', function() {111 test.assertExists('#checkout-review-table');112 test.assertExists('button.btn-checkout');113 this.click('button.btn-checkout');114 test.pass('Placing the order');115 })116 /* Order success page */117 .waitForUrl(mage.getUrl('checkout/onepage/success'), function() {118 test.assertHttpStatus(200);119 test.assertExists('.checkout-onepage-success');120 test.pass('The order has been placed successfully');121 })122 .run(function () {123 test.done();124 });...
casperjs-test-login.js
Source:casperjs-test-login.js
1casper.test.begin('The heading exists', 37, function suite(test) {2 casper.start('http://localhost/Lunch/loginpage.html', function() {3 test.assertTitle('Log In', 'Title is exist');4 test.assertTitleMatch(/Log In/, 'Ok');5 test.assertExists('head');6 test.assertExists('head > meta');7 test.assertExists('head > link');8 test.assertElementCount('link', 2);9 test.assertExists('head > script');10 test.assertExists('head > title');11 test.assertSelectorHasText('title', 'Log In');12 test.assertElementCount('div', 9);13 test.assertExists('div#test');14 test.assertExists('div.loginbox');15 test.assertExists('div > center');16 test.assertSelectorHasText('div > center', 'Sign in');17 test.assertExists('div#login-content');18 test.assertExists('center');19 test.assertExists('center#errormsg');20 test.assertElementCount('div.login-component', 2);21 test.assertExists('div.login-component>input[type="email"]');22 test.assertExists('div.login-component>input[id="email"]');23 test.assertExists('div.login-component>input[placeholder="Email"]');24 test.assertExists('div.login-component>input[required]');25 test.assertExists('div > input');26 test.assertElementCount('input', 4);27 test.assertExists('div.login-component>input[type="password"]');28 test.assertExists('div.login-component>input[id="pswd"]');29 test.assertExists('div.login-component>input[placeholder="Password"]');30 test.assertExists('div#checkbox>input[type="checkbox"]');31 test.assertSelectorHasText('div#checkbox', 'Remember me');32 test.assertExists('div#botton');33 test.assertExists('div#botton>input[name="signin"]');34 test.assertExists('div#botton.parentNode>input[type="botton"]');35 test.assertExists('div#botton>input[value="Sign in"]');36 test.assertExists('div#botton>input[id="botton"]');37 test.assertExists('div#botton>input[onclick="return login()"]');38 test.assertHttpStatus(200);39 test.assertUrlMatch(/^http:\/\//, 'localhost is served in http://');40 }).run(function() {41 test.done();42 });43});44casper.thenClick('div#botton', function() {45 this.echo("PASS I clicked on first link found, the page is now loaded.");46});...
casperjs-test-order.js
Source:casperjs-test-order.js
1casper.test.begin('The heading exists', 38, function suite(test) {2 casper.start('http://localhost/Lunch/orderpage.html', function() {3 test.assertTitle('Let\'s have tasty break', 'Title is exist');4 test.assertTitleMatch(/Let\'s have tasty break/, 'Ok');5 test.assertExists('head');6 test.assertExists('head > meta');7 test.assertExists('head > link');8 test.assertElementCount('link', 2);9 test.assertExists('head > script');10 test.assertExists('head > title');11 test.assertSelectorHasText('title', 'Let\'s have tasty break');12 test.assertElementCount('div', 14);13 test.assertElementCount('input', 2);14 test.assertHttpStatus(200, 'Successfully opened page.');15 test.assertUrlMatch(/^http:\/\//, 'localhost is served in http://');16 test.assertExists('body[onload="printOldOrders(),getPlaces()"]');17 test.assertExists('div#main');18 test.assertExists('form[name="orders"]');19 test.assertExists('form>div#placesDiv');20 test.assertExists('form>div > select');21 test.assertExists('form>div > select#places');22 test.assertExists('form>div#productsDiv');23 test.assertExists('div>input');24 test.assertExists('div>input[name="products"]');25 test.assertExists('div>input[id="products"]');26 test.assertExists('div>input[type="text"]');27 test.assertExists('div>input[placeholder="Type product name"]');28 test.assertExists('div>input[onkeyup="setTimeout(function() { loadproducts(); }, 1500)"]');29 test.assertExists('div#product_list');30 test.assertExists('div#countDiv');31 test.assertExists('div>input[min="1"]');32 test.assertExists('div>input[id="count"]');33 test.assertExists('div>input[type="number"]');34 test.assertExists('div>input[placeholder="Input count"]');35 test.assertExists('form>button');36 test.assertExists('form>button[name="addButton"]');37 test.assertExists('form>button[id="addButton"]');38 test.assertSelectorHasText('form>button', 'Add');39 test.assertExists('div#table');40 test.assertExists('div#table', "empty");41 42 }).run(function() {43 test.done();44 });45});...
casperjs-test-distributorpage.js
Source:casperjs-test-distributorpage.js
1casper.test.begin('The heading exists', 25, function suite(test) {2 casper.start('http://localhost/Lunch/distributorpage.html', function() {3 test.assertTitle('Distributor', 'Title is exist');4 test.assertTitleMatch(/Distributor/, 'Ok');5 test.assertExists('head');6 test.assertExists('head > meta');7 test.assertExists('head > link');8 test.assertElementCount('link', 2);9 test.assertExists('head > script');10 test.assertExists('head > title');11 test.assertSelectorHasText('title', 'Distributor');12 test.assertElementCount('div', 2);13 test.assertHttpStatus(200, 'Successfully opened page.');14 test.assertUrlMatch(/^http:\/\//, 'localhost is served in http://');15 test.assertExists('div#distributorMainField');16 test.assertExists('div.clearfix');17 test.assertExists('div#distributors');18 test.assertExists('div>table');19 test.assertExists('div>table.table');20 test.assertExists('div>table[border="1"]');21 test.assertSelectorHasText('tr>th', 'Place');22 test.assertSelectorHasText('tr>th', 'Distributor');23 test.assertSelectorHasText('tr>td>a', 'Tashir');24 test.assertSelectorHasText('tr>td>a', 'Valod');25 test.assertExists('tr>td>a[id="tashir"]');26 test.assertExists('tr>td>a[id="valod"]');27 test.assertExists('tr>td>a[href="placespage.html"]');28 29 }).run(function() {30 test.done();31 });32});33casper.thenEvaluate(function(term) {34}, 'CasperJS');35casper.then(function() {36 this.click('tr>td>a#valod');37 this.click('tr>td>a#tashir');38});39casper.then(function() {40 console.log('PASS clicked ok, new location is ' + this.getCurrentUrl());41});...
casperjs-test-placespage.js
Source:casperjs-test-placespage.js
1casper.test.begin('The heading exists', 27, function suite(test) {2 casper.start('http://localhost/Lunch/placespage.html', function() {3 test.assertTitle('Orders', 'Title is exist');4 test.assertTitleMatch(/Orders/, 'Ok');5 test.assertExists('head');6 test.assertExists('head > meta');7 test.assertExists('head > link');8 test.assertElementCount('link', 2);9 test.assertExists('head > script');10 test.assertExists('head > title');11 test.assertSelectorHasText('title', 'Orders');12 test.assertElementCount('div', 4);13 test.assertHttpStatus(200, 'Successfully opened page.');14 test.assertUrlMatch(/^http:\/\//, 'localhost is served in http://');15 test.assertExists('body[onload="changeName(); addProductList(); addUserList()"]');16 test.assertExists('div#distributorMainField');17 test.assertExists('div.clearfix'); 18 test.assertExists('h1#placeName');19 test.assertExists('div#productList1');20 test.assertExists('table#productTable');21 test.assertExists('table.table');22 test.assertSelectorHasText('tr', 'ProductList');23 test.assertSelectorHasText('tr > td > h5', 'Product');24 test.assertSelectorHasText('tr > td > h5', 'Count');25 test.assertSelectorHasText('tr > td > h5', 'Name');26 test.assertExists('div.productList2');27 test.assertExists('table#nameTable');28 test.assertExists('table#orderTable');29 test.assertElementCount('div > table', 3);30 }).run(function() {31 test.done();32 });...
Using AI Code Generation
1const assert = require('assert');2const wdio = require('webdriverio');3const opts = {4 capabilities: {5 }6}7const client = wdio.remote(opts);8client.init()9 .then(() => client.assertExists('elementId', 'error message'))10 .then(() => client.end());11const assert = require('assert');12const wdio = require('webdriverio');13const opts = {14 capabilities: {15 }16}17const client = wdio.remote(opts);18client.init()19 .then(() => client.assertExists('elementId', 'error message'))20 .then(() => client.end());21assertExists (elementId, errorMessage) ¶22Example: client.assertExists('elementId', 'error message')23assertNotExist (elementId, errorMessage) ¶24Example: client.assertNotExist('elementId', 'error message')25assertAttribute (elementId, attributeName, expectedAttributeValue, errorMessage) ¶
Using AI Code Generation
1const assert = require('assert');2const wd = require('wd');3const path = require('path');4const { assertExists } = require('appium-xcuitest-driver/lib/commands/element.js');5const { getDriver } = require('./helpers');6const { HOST, PORT, BUNDLE_ID } = require('./helpers');7describe('Sample Test', function () {8 this.timeout(600000);9 let driver;10 before(async () => {11 driver = await getDriver();12 });13 after(async () => {14 await driver.quit();15 });16 it('should find the element', async () => {17 const el = await driver.elementByAccessibilityId('Alert Views');18 await assertExists.call(driver, el);19 });20});21 at assertExists (/Users/username/appium-xcuitest-driver/lib/commands/element.js:10:10)22 at Object.it (/Users/username/appium-xcuitest-driver/test.js:27:13)23 at process._tickCallback (internal/process/next_tick.js:68:7)24 at assertExists (/Users/username/appium-xcuitest-driver/lib/commands/element.js:10:10)25 at Object.it (/Users/username/appium-xcuitest-driver/test.js:31:13)26 at process._tickCallback (internal/process/next_tick.js:68:7)
Using AI Code Generation
1const assertExists = require('appium-xcuitest-driver').assertExists;2assertExists('someElement');3const assertExists = require('appium-uiautomator2-driver').assertExists;4assertExists('someElement');5const assertExists = require('appium-espresso-driver').assertExists;6assertExists('someElement');7const assertExists = require('appium-windows-driver').assertExists;8assertExists('someElement');9const assertExists = require('appium-mac-driver').assertExists;10assertExists('someElement');11const assertExists = require('appium-youiengine-driver').assertExists;12assertExists('someElement');13const assertExists = require('appium-tizen-driver').assertExists;14assertExists('someElement');15const assertExists = require('appium-android-driver').assertExists;16assertExists('someElement');17const assertExists = require('appium-selendroid-driver').assertExists;18assertExists('someElement');19const assertExists = require('appium-fake-driver').assertExists;20assertExists('someElement');21const assertExists = require('appium-chromedriver').assertExists;22assertExists('someElement');23const assertExists = require('appium-selendroid-driver').assertExists;24assertExists('someElement');25const assertExists = require('appium-fake-driver').assertExists;26assertExists('someElement');27const assertExists = require('appium-chromedriver').assertExists;28assertExists('someElement');
Using AI Code Generation
1var webdriver = require('selenium-webdriver');2var assert = require('assert');3var driver = new webdriver.Builder()4 .forBrowser('firefox')5 .build();6promise.then(function(){7 return driver.findElement(webdriver.By.name('q'));8}).then(function(element){9 return driver.assertExists(element);10}).then(function(isExist){11 assert.equal(isExist, true);12 console.log('Element is present in the page');13}).then(null, function(err){14 console.log(err);15});16driver.quit();
Using AI Code Generation
1const assert = require('assert');2describe('iOS Native App', () => {3 it('should assert element exists', async () => {4 const element = await driver.$('~test-Assert');5 await element.assertExists();6 });7});8const assert = require('assert');9describe('iOS Native App', () => {10 it('should assert element exists', async () => {11 const element = await driver.$('~test-Assert');12 await element.assertExists();13 });14});15const assert = require('assert');16describe('iOS Native App', () => {17 it('should assert element exists', async () => {18 const element = await driver.$('~test-Assert');19 await element.assertExists();20 });21});22const assert = require('assert');23describe('iOS Native App', () => {24 it('should assert element exists', async () => {25 const element = await driver.$('~test-Assert');26 await element.assertExists();27 });28});29const assert = require('assert');30describe('iOS Native App', () => {31 it('should assert element exists', async () => {32 const element = await driver.$('~test-Assert');33 await element.assertExists();34 });35});36const assert = require('assert');37describe('iOS Native App', () => {38 it('should assert element exists', async () => {39 const element = await driver.$('~test-Assert');40 await element.assertExists();41 });42});43const assert = require('assert');44describe('iOS Native App', () => {45 it('should assert element exists', async () => {46 const element = await driver.$('~test-Assert');47 await element.assertExists();48 });49});
Using AI Code Generation
1var assertExists = require('appium-xcuitest-driver').assertExists;2assertExists('test', 'test');3var assertMapping = require('appium-xcuitest-driver').assertMapping;4assertMapping('test', 'test');5var assertRequiredOptions = require('appium-xcuitest-driver').assertRequiredOptions;6assertRequiredOptions('test', 'test');7var assertRequiredParams = require('appium-xcuitest-driver').assertRequiredParams;8assertRequiredParams('test', 'test');9var assertWebview = require('appium-xcuitest-driver').assertWebview;10assertWebview('test', 'test');11var assertWindow = require('appium-xcuitest-driver').assertWindow;12assertWindow('test', 'test');13var checkParams = require('appium-xcuitest-driver').checkParams;14checkParams('test', 'test');15var checkParamsAndThrow = require('appium-xcuitest-driver').checkParamsAndThrow;16checkParamsAndThrow('test', 'test');17var checkParamsAndThrow = require('appium-xcuitest-driver').checkParamsAndThrow;18checkParamsAndThrow('test', 'test');19var checkParamsAndThrow = require('appium-xcuitest-driver').checkParamsAndThrow;20checkParamsAndThrow('test', 'test');
Using AI Code Generation
1var wd = require('wd');2var assert = require('assert');3var app = 'Calculator.app';4var device = 'iPhone 6';5var platform = 'iOS';6var platformVersion = '9.3';7var xcodeProject = 'Calculator';8var scheme = 'Calculator';9var configuration = 'Debug';10var appPath = '/Users/username/Projects/Calculator/build/Debug-iphonesimulator/Calculator.app';11var ipaPath = '/Users/username/Projects/Calculator/build/Debug-iphonesimulator/Calculator.ipa';12var archivePath = '/Users/username/Projects/Calculator/build/Debug-iphonesimulator/Calculator.xcarchive';13var testRunPath = '/Users/username/Projects/Calculator/build/Debug-iphonesimulator/Calculator.xctestrun';14var wdaLocalPort = 8100;15var wdaLaunchTimeout = 50000;16var wdaConnectionTimeout = 50000;17var wdaUseNewWDA = true;18var wdaUseSimpleBuildTest = true;19var wdaStartupRetries = 5;20var wdaStartupRetryInterval = 10000;21var wdaMaxTypingFrequency = 60;
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!