Best JavaScript code snippet using navalia
package-launch-operations.ts
Source:package-launch-operations.ts
1import type { LaunchInstance as TypeofLaunchInstance, OldLaunchInstance } from 'client-voodoo';2import type { Ref } from 'vue';3import { arrayRemove } from '../../../utils/array';4import { Api } from '../../../_common/api/api.service';5import { Launcher, LaunchInstance } from '../../../_common/client/client-voodoo-imports';6import { Translate } from '../../../_common/translate/translate.service';7import type { LocalDbPackage } from '../../components/client/local-db/package/package.model';8import { handleClientVoodooError, trackClientVoodooOperation } from './client-voodoo';9import type ClientLibraryPackageDataMutations from './package-data-mutations';10export default class ClientLibraryPackageLaunchOperations {11 constructor(12 private readonly currentlyPlaying: Ref<LocalDbPackage[]>,13 private readonly pkgDataOps: ClientLibraryPackageDataMutations14 ) {}15 private setCurrentlyPlaying(localPackage: LocalDbPackage) {16 this.currentlyPlaying.value.push(localPackage);17 }18 private unsetCurrentlyPlaying(localPackage: LocalDbPackage) {19 arrayRemove(this.currentlyPlaying.value, i => localPackage.id === i.id);20 }21 async launcherLaunch(localPackage: LocalDbPackage) {22 try {23 await this.pkgDataOps.setPackageLaunching(localPackage);24 let payload: any = null;25 try {26 payload = await Api.sendRequest(27 '/web/dash/token/get-for-game?game_id=' + localPackage.game_id28 );29 } catch (err) {30 console.log('Could not get game token to launch with - launching anyway.');31 console.warn(err);32 }33 const credentials =34 payload && payload.username && payload.token35 ? { username: payload.username, user_token: payload.token }36 : null;37 const launchInstance = await Launcher.launch(localPackage as any, credentials);38 this.launcherAttach(localPackage, launchInstance);39 trackClientVoodooOperation('launch', true);40 } catch (err) {41 console.error(err);42 handleClientVoodooError(err, 'launch', Translate.$gettext('Could not launch game.'));43 this.launcherClear(localPackage);44 }45 }46 async launcherReattach(localPackage: LocalDbPackage) {47 if (!localPackage.running_pid) {48 throw new Error('Package is not running');49 }50 try {51 const launchInstance = await Launcher.attach(localPackage.running_pid);52 this.launcherAttach(localPackage, launchInstance);53 trackClientVoodooOperation('attach', true);54 } catch (err) {55 console.log(`Could not reattach launcher instance: ${localPackage.running_pid}`);56 console.error(err);57 handleClientVoodooError(err, 'attach');58 this.launcherClear(localPackage);59 }60 }61 private async launcherAttach(62 localPackage: LocalDbPackage,63 launchInstance: TypeofLaunchInstance | OldLaunchInstance64 ) {65 this.setCurrentlyPlaying(localPackage);66 // Typescript can't detect that all possible types of launchInstance have a .on( 'gameOver' ), so we have to assert type.67 if (launchInstance instanceof LaunchInstance) {68 launchInstance.on('gameOver', () => this.launcherClear(localPackage));69 } else {70 launchInstance.on('gameOver', () => this.launcherClear(localPackage));71 }72 await this.pkgDataOps.setPackageRunningPid(localPackage, launchInstance.pid);73 }74 private async launcherClear(localPackage: LocalDbPackage) {75 this.unsetCurrentlyPlaying(localPackage);76 await this.pkgDataOps.clearPackageRunningPid(localPackage);77 }...
ReportPortalAgent.js
Source:ReportPortalAgent.js
1const ReportportalClient = require('reportportal-client');2const JasmineReportportalReporter = require('./JasmineReportportalReporter');3class JasmineReportportalAgent {4 constructor(config) {5 this.jasmineReportportalReporter = new JasmineReportportalReporter(config);6 // this.client = new ReportportalClient(config);7 // this.launchInstance = conf.id ? (this.client.startLaunch({8 // id: conf.id9 // })) : (this.client.startLaunch({}));10 // this.tempLaunchId = this.launchInstance.tempId;11 // this.reporterConf = Object.assign({12 // client: this.client,13 // tempLaunchId: this.tempLaunchId,14 // attachPicturesToLogs: true15 // }, conf);16 }17 getJasmineReporter() {18 return this.jasmineReportportalReporter;19 }20 /*21 * This method is used for launch finish when test run in one thread, and if test run in22 * multi treading it must be call at the parent process ONLY, after all child processes have23 * been finished24 *25 * @return a promise26 */27 getExitPromise() {28 const client = this.jasmineReportportalReporter.client;29 return (client.finishLaunch(this.tempLaunchId, {})).promise;30 }31 /*32 * This method is used for creating a Parent Launch at the Report Portal in which child launches would33 * send their data34 * during the promise resolve id of the launch could be ejected and sent as @param35 * to the child launches.36 *37 * @return a promise38 */39 getLaunchStartPromise() {40 return this.launchInstance.promise41 }42 /*43 * This method is used for frameworks as Jasmine and other. There is problems when44 * it doesn't wait for promise resolve and stop the process. So it better to call45 * this method at the spec's function as @afterAll() and manually resolve this promise.46 *47 * @return a promise48 */49 getPromiseFinishAllItems(launchTempId) {50 const client = this.jasmineReportportalReporter.client;51 return client.getPromiseFinishAllItems(launchTempId)52 }53}...
launcher-service.js
Source:launcher-service.js
1angular.module( 'App.Client.Launcher' )2.run( function( $rootScope, Client_Launcher )3{4 $rootScope.$on( 'Client_Library.watchersSet', function()5 {6 Client_Launcher.init();7 } );8} )9.service( 'Client_Launcher', function( $q, $rootScope, Client_Library, Device, Growls )10{11 var _this = this;12 this.currentlyPlaying = [];13 this.init = function()14 {15 // Reattach all running games after a restart.16 _.forEach( Client_Library.packages, function( localPackage )17 {18 if ( localPackage.isRunning() ) {19 _this.reattach( localPackage );20 }21 } );22 };23 this.launch = function( localPackage )24 {25 var Launcher = require( 'client-voodoo' ).Launcher;26 var os = Device.os();27 var arch = Device.arch();28 return $q.when( Launcher.launch( localPackage, os, arch ).promise )29 .then( function( launchInstance )30 {31 return _this.attach( localPackage, launchInstance );32 } )33 .catch( function( e )34 {35 _this.clear( localPackage );36 console.error( e );37 Growls.error( 'Could not launch game.' );38 } );39 };40 this.reattach = function( localPackage )41 {42 var Launcher = require( 'client-voodoo' ).Launcher;43 return $q.when( Launcher.attach( localPackage.running_pid ) )44 .then( function( launchInstance )45 {46 return _this.attach( localPackage, launchInstance );47 } )48 .catch( function()49 {50 _this.clear( localPackage );51 } );52 };53 this.attach = function( localPackage, launchInstance )54 {55 this.currentlyPlaying.push( localPackage );56 launchInstance.on( 'pid', function()57 {58 localPackage.$setRunningPid( launchInstance.pid )59 } );60 launchInstance.on( 'end', function()61 {62 _this.clear( localPackage );63 } );64 $rootScope.$emit( 'Client_Launcher.gameLaunched', this.currentlyPlaying.length );65 return localPackage.$setRunningPid( launchInstance.pid );66 };67 this.clear = function( localPackage )68 {69 var removedItems = _.remove( this.currentlyPlaying, { id: localPackage.id } );70 localPackage.$clearRunningPid();71 if ( removedItems.length ) {72 $rootScope.$emit( 'Client_Launcher.gameClosed', this.currentlyPlaying.length );73 }74 };...
Using AI Code Generation
1const navalia = require('navalia');2navalia.launchInstance().then(async (instance) => {3 const title = await instance.title();4 console.log(title);5 await instance.close();6});7### launchInstance([options])8### instance.goto(url, [options])
Using AI Code Generation
1const navalia = require('navalia');2const browser = navalia();3browser.launchInstance().then(async instance => {4 const page = await instance.newPage();5 await page.type('input[name="q"]', 'navalia');6 await page.click('input[name="btnK"]');7 await page.waitForNavigation();8 await page.screenshot({ path: 'navalia.png' });9 await instance.close();10});11### launchInstance(options)12| options | `Object` | Options to pass to the browser instance. See [puppeteer launch options](
Using AI Code Generation
1const navalia = require('navalia');2const browser = navalia();3browser.launchInstance()4.then(() => browser.type('navalia', 'input[type="text"]'))5.then(() => browser.click('input[value="Google Search"]'))6.then(() => browser.screenshot('google.png'))7.then(() => browser.close());8const navalia = require('navalia');9const browser = navalia();10browser.launch()11.then(() => browser.type('navalia', 'input[type="text"]'))12.then(() => browser.click('input[value="Google Search"]'))13.then(() => browser.screenshot('google.png'))14.then(() => browser.close());15const navalia = require('navalia');16const browser = navalia();17browser.launch({headless: false, slowMo: 100})18.then(() => browser.type('navalia', 'input[type="text"]'))19.then(() => browser.click('input[value="Google Search"]'))20.then(() => browser.screenshot('google.png'))21.then(() => browser.close());22const navalia = require('navalia');23const browser = navalia();24browser.launch({headless: false, slowMo: 100})25.then(() => browser.type('navalia', 'input[type="text"]'))26.then(() => browser.click('input[value="Google Search"]'))27.then(()
Using AI Code Generation
1const navalia = require('navalia');2const browser = new navalia();3browser.launchInstance('chrome').then(() => {4 browser.takeScreenshot('google.png').then(() => {5 browser.close();6 });7});8### launchInstance(browserName, options)9The `options` parameter is optional and can be used to pass in additional options to the browser. See the [puppeteer documentation](
Using AI Code Generation
1var navalia = require('navalia');2var browser = new navalia();3browser.launchInstance().then(function() {4 console.log('instance launched');5 browser.closeInstance().then(function() {6 console.log('instance closed');7 });8});9### launchInstance(options)
Using AI Code Generation
1const navalia = require('navalia');2const instance = navalia.launchInstance();3instance.evaluate(function (done) {4 done(document.title);5}).then(function (title) {6 console.log(title);7});8const navalia = require('navalia');9const instance = navalia.launchInstance();10describe('My Test', function () {11 it('should pass', function () {12 return instance.evaluate(function (done) {13 done(document.title);14 }).then(function (title) {15 console.log(title);16 });17 });18});19const navalia = require('navalia');20const instance = navalia.launchInstance();21describe('My Test', function () {22 it('should pass', function () {23 return instance.evaluate(function (done) {24 done(document.title);25 }).then(function (title) {26 expect(title).to.equal('My Title');27 });28 });29});30const navalia = require('navalia');31const instance = navalia.launchInstance();32describe('My Test', function () {33 it('should pass', async function () {34 const title = await instance.evaluate(function (done) {35 done(document.title);36 });37 expect(title).to.equal('My Title');38 });39});40const navalia = require('navalia');41const instance = navalia.launchInstance();42describe('My Test', function () {43 it('should pass', async function () {44 const title = await instance.evaluate(function (done) {45 done(document.title);46 });47 return expect(title).to.eventually.equal('My Title');48 });49});
Using AI Code Generation
1const navalia = require('navalia');2const browser = new navalia();3 .then(() => {4 return browser.run(async (page, browser) => {5 await page.setViewport({ width: 1000, height: 600 });6 await page.screenshot({ path: 'google.png' });7 await browser.close();8 });9 })10 .catch((error) => {11 console.log(error);12 });13const navalia = require('navalia');14const browser = new navalia();15browser.launch({ headless: false })16 .then(() => {17 return browser.run(async (page, browser) => {18 await page.setViewport({ width: 1000, height: 600 });19 await page.screenshot({ path: 'google.png' });20 await browser.close();21 });22 })23 .catch((error) => {24 console.log(error);25 });26const navalia = require('navalia');27const browser = new navalia();28browser.launch({ headless: false })29 .then(() => {30 return browser.run(async (page, browser) => {31 await page.setViewport({ width: 1000, height: 600 });32 await page.screenshot({ path: 'google.png' });33 await browser.close();34 });35 })36 .catch((error) => {37 console.log(error);38 });39const navalia = require('navalia');40const browser = new navalia();41browser.launch({ headless: false })42 .then(() => {43 return browser.run(async (page, browser) => {44 await page.setViewport({ width: 1000, height: 600 });45 await page.screenshot({ path: 'google.png' });46 await browser.close();47 });48 })49 .catch((error) => {50 console.log(error);51 });
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!!