Best JavaScript code snippet using taiko
happy-path.test.js
Source:happy-path.test.js
...86 *87 * @returns {Promise}88 */89 async function verifyUser() {90 await clickSelector(page, START_HOME_BUTTON);91 await page.focus(EMAIL_INPUT);92 await page.keyboard.type('sas-hof-test@digital.homeoffice.gov.uk');93 // Bypass user clicking email link - Notify Key will not be set during test runs94 await navigateTo(page, `http://${APP_CONTAINER_HOST}:${APP_CONTAINER_PORT}/nrm/start?token=skip`);95 }96 /**97 * Run a sequence of actions to simulate user not opting to refer case to98 * the NRM99 *100 * @returns {Promise}101 */102 async function completeDutyToNotifyForm() {103 await clickSelector(page, REFER_CASE_TO_NRM_NO_OPTION);104 await clickSelector(page, CONTINUE_BUTTON);105 await clickSelector(page, CONTINUE_BUTTON);106 await clickSelector(page, PV_GENDER_MALE_OPTION);107 await clickSelector(page, CONTINUE_BUTTON);108 await focusThenType(page, PV_NATIONALITY, 'French');109 await clickSelector(page, CONTINUE_BUTTON);110 await clickSelector(page, POLICE_CONTACT_YES_OPTION);111 await clickSelector(page, CONTINUE_BUTTON);112 await focusThenType(page, PV_NAME_FIRST_NAME, 'Robert');113 await focusThenType(page, PV_NAME_LAST_NAME, 'Maxwell');114 await clickSelector(page, CONTINUE_BUTTON);115 await clickSelector(page, PV_CONTACT_DETAILS_EMAIL_OPTION);116 await focusThenType(page, PV_CONTACT_DETAILS_EMAIL_INPUT, 'robert.maxwell@pvrefuse.com');117 await clickSelector(page, PV_CONTACT_DETAILS_EMAIL_SAFE_OPTION);118 await clickSelector(page, CONTINUE_BUTTON);119 }120 /**121 * Run a sequence of actions to simulate the completion of the first half122 * of the NRM form123 *124 * The sequence of actions in the form have been broken up into three functions125 * to reduce the number of statements within an asyncronous function in126 * order to reduce function complexity127 *128 * For additional information:129 * @see https://eslint.org/docs/rules/max-statements130 *131 *132 * @param {string} typeOfPV - type of Potential Victim 'child' or 'adult'133 * @param {bool} caseReferred - does the Potential Victim want their case134 * referred?135 *136 * @returns {Promise}137 */138 async function completeForm1of2(typeOfPV, caseReferred) {139 await clickSelector(page, CONTINUE_BUTTON);140 await clickSelector(page, START_REPORT);141 await focusThenType(page, REFERENCE_INPUT, 'REF12345');142 await clickSelector(page, CONTINUE_BUTTON);143 await focusThenType(page, ORGANISATION_INPUT, 'Home Office - UK Border Force UKBF');144 await clickSelector(page, CONTINUE_BUTTON);145 await clickSelector(page, LOCATION_ENGLAND_OPTION);146 await clickSelector(page, CONTINUE_BUTTON);147 if (typeOfPV === 'adult') {148 await clickSelector(page, PV_UNDER_AGE_NO_OPTION);149 await clickSelector(page, CONTINUE_BUTTON);150 await clickSelector(page, PV_UNDER_AGE_AT_TIME_OF_EXPLOITATION_NO_OPTION);151 await clickSelector(page, CONTINUE_BUTTON);152 } else {153 await clickSelector(page, PV_UNDER_AGE_YES_OPTION);154 await clickSelector(page, CONTINUE_BUTTON);155 await focusThenType(page, LOCAL_AUTHORITY_NAME, 'Crawley Borough Council');156 await focusThenType(page, LOCAL_AUTHORITY_PHONE, '020878546453');157 await focusThenType(page, LOCAL_AUTHORITY_EMAIL, 'test@authority.org');158 await clickSelector(page, CONTINUE_BUTTON);159 }160 await focusThenType(page, WHAT_HAPPENED_INPUT, 'Test input regarding details of exploitation');161 await clickSelector(page, CONTINUE_BUTTON);162 await clickSelector(page, EXPLOITED_IN_UK_OPTION);163 await clickSelector(page, CONTINUE_BUTTON);164 await focusThenType(page, EXPLOITED_IN_UK_CITY_INPUT, 'Croydon');165 await clickSelector(page, CONTINUE_BUTTON);166 await focusThenType(page, CURRENT_PV_LOCATION_UK_CITY, 'Bromley');167 await focusThenType(page, CURRENT_PV_LOCATION_UK_REGION, 'Kent');168 await clickSelector(page, CONTINUE_BUTTON);169 await focusThenType(page, WHO_EXPLOITED_PV, 'Test details about exploiter(s)');170 await clickSelector(page, CONTINUE_BUTTON);171 await clickSelector(page, HOW_WERE_THEY_EXPLOITED_FORCED_WORK_OPTION);172 await clickSelector(page, CONTINUE_BUTTON);173 await clickSelector(page, ANY_OTHER_PVS_NO_OPTION);174 await clickSelector(page, CONTINUE_BUTTON);175 await clickSelector(page, PV_HAS_CRIME_REFERENCE_NUMBER_NO_OPTION);176 await clickSelector(page, CONTINUE_BUTTON);177 if (caseReferred && typeOfPV === 'adult') {178 await clickSelector(page, REFER_CASE_TO_NRM_YES_OPTION);179 await clickSelector(page, CONTINUE_BUTTON);180 await clickSelector(page, DOES_PV_NEED_SUPPORT_YES_OPTION);181 await clickSelector(page, CONTINUE_BUTTON);182 } else if (!caseReferred && typeOfPV === 'adult') {183 await completeDutyToNotifyForm();184 } else {185 await clickSelector(page, CONTINUE_BUTTON);186 }187 }188 /**189 * Run a sequence of actions to simulate the completion of the second half190 * of the NRM form191 *192 * The sequence of actions in the form have been broken up into two functions193 * to reduce the number of statements within an asyncronous function in194 * order to reduce function complexity195 *196 * For additional information:197 * @see https://eslint.org/docs/rules/max-statements198 *199 *200 * @param {string} typeOfPV - type of Potential Victim 'child' or 'adult'201 *202 * @returns {Promise}203 */204 async function completeForm2of2(typeOfPV) {205 await focusThenType(page, PV_NAME_FIRST_NAME, 'Paul');206 await focusThenType(page, PV_NAME_LAST_NAME, 'Shortlands');207 await clickSelector(page, CONTINUE_BUTTON);208 await clickSelector(page, CONTINUE_BUTTON);209 await clickSelector(page, PV_GENDER_MALE_OPTION);210 await clickSelector(page, CONTINUE_BUTTON);211 await clickSelector(page, DOES_PV_HAVE_CHILDREN_NO_OPTION);212 await clickSelector(page, CONTINUE_BUTTON);213 await focusThenType(page, PV_NATIONALITY, 'English');214 await clickSelector(page, CONTINUE_BUTTON);215 await clickSelector(page, INTERPRETER_NO_OPTION);216 await clickSelector(page, CONTINUE_BUTTON);217 await clickSelector(page, COMMUNICATION_AID_NO_OPTION);218 await clickSelector(page, CONTINUE_BUTTON);219 await clickSelector(page, HO_REFERENCE_NO_OPTION);220 await clickSelector(page, CONTINUE_BUTTON);221 if (typeOfPV === 'adult') {222 await clickSelector(page, WHO_CONTACT_PV_OPTION);223 await clickSelector(page, CONTINUE_BUTTON);224 await clickSelector(page, PV_CONTACT_DETAILS_EMAIL_OPTION);225 await focusThenType(page, PV_CONTACT_DETAILS_EMAIL_INPUT, 'paul.shortlands@pv.com');226 await clickSelector(page, PV_CONTACT_DETAILS_EMAIL_SAFE_OPTION);227 await clickSelector(page, CONTINUE_BUTTON);228 await clickSelector(page, PV_PHONE_NUMBER_NO_OPTION);229 await clickSelector(page, CONTINUE_BUTTON);230 await clickSelector(page, POLICE_CONTACT_YES_OPTION);231 await clickSelector(page, CONTINUE_BUTTON);232 }233 await focusThenType(page, FR_DETAILS_FIRST_NAME_INPUT, 'Jack');234 await focusThenType(page, FR_DETAILS_LAST_NAME_INPUT, 'Smith');235 await focusThenType(page, FR_DETAILS_ROLE_INPUT, 'Police Officer');236 await focusThenType(page, FR_DETAILS_PHONE_INPUT, '02086757436');237 await clickSelector(page, CONTINUE_BUTTON);238 await focusThenType(page, FR_ALTERNATE_CONTACT_EMAIL_INPUT, 'jack.smith@police.com');239 await clickSelector(page, CONTINUE_BUTTON);240 }241 const timeoutInMins = num => num * 60000;242 const defaultTimeout = timeoutInMins(5);243 it('Happy path - Adult', async () => {244 try {245 await verifyUser();246 await completeForm1of2('adult', true);247 await completeForm2of2('adult');248 } catch (err) {249 throw new Error(err);250 }251 }).timeout(defaultTimeout);252 it('User path - Child', async () => {253 try {254 await verifyUser();255 await completeForm1of2('child', true);256 await completeForm2of2('child');257 } catch (err) {258 throw new Error(err);259 }260 }).timeout(defaultTimeout);261 it('User path - Duty to Notify (Adult)', async () => {262 try {263 await verifyUser();264 await completeForm1of2('adult', false);265 } catch (err) {266 throw new Error(err);267 }268 }).timeout(defaultTimeout);269 it('downloads the prompt sheet', async () => {270 try {271 await page._client.send('Page.setDownloadBehavior', {272 behavior: 'allow',273 downloadPath: downloadPath274 });275 await clickSelector(page, DOWNLOAD_REPORT);276 await clickSelector(page, DOWNLOAD_REPORT);277 const pageContent = await page.content();278 const result = pageContent.includes('Not found');279 expect(result).to.be.false;280 } catch (err) {281 throw new Error(err);282 }283 }).timeout(defaultTimeout);...
_utils.ts
Source:_utils.ts
1import { getExampleUrl } from '@atlaskit/visual-regression/helper';2import { colorPalette } from '@atlaskit/editor-common';3export const escapeStr = (str: string) => {4 return `concat('${str.replace(/'/g, `', "'", '`)}', '')`;5};6export const selectByTextAndClick = async ({ page, tagName, text }) => {7 const target = await page.$x(8 `//${tagName}[contains(text(), ${escapeStr(text)})]`,9 );10 if (target.length > 0) {11 await target[0].click();12 } else {13 throw new Error(`Target element is not found: ${text}`);14 }15};16export const initEditor = async (page, appearance: string) => {17 const editor = '.ProseMirror';18 const url = getExampleUrl(19 'editor',20 'editor-core',21 appearance,22 // @ts-ignore23 global.__BASEURL__,24 );25 await page.goto(url);26 if (appearance === 'comment') {27 const placeholder = 'input[placeholder="What do you want to say?"]';28 await page.waitForSelector(placeholder);29 await page.click(placeholder);30 }31 await page.waitForSelector(editor);32 await page.click(editor);33 await page.addStyleTag({34 content: '.ProseMirror { caret-color: transparent; }',35 });36};37export const clearEditor = async page => {38 await page.evaluate(() => {39 const dom = document.querySelector('.ProseMirror') as HTMLElement;40 dom.innerHTML = '<p><br /></p>';41 });42};43export const insertMenuSelector =44 'span[aria-label="Open or close insert block dropdown"]';45export const advanceFormattingMenuSelector =46 'span[aria-label="Open or close advance text formatting dropdown"]';47export const baseTests = [48 // -----------------49 // Insert menu items50 // -----------------51 {52 name: 'Block quote',53 // click selector (dropdown menu or toolbar icon)54 clickSelector: insertMenuSelector,55 // menu item selector - when given, it should match item inner text56 menuItemText: 'Block quote',57 // inserted node selector - wait for the node to be inserted58 nodeSelector: 'blockquote p',59 // is used for testing marks and typing inside content nodes60 content: 'text',61 // where to test62 appearance: ['full-page', 'comment'],63 },64 {65 name: 'Code block',66 menuItemText: 'Code block',67 clickSelector: insertMenuSelector,68 nodeSelector: 'div.code-block code',69 content: 'text',70 appearance: ['full-page', 'comment'],71 },72 {73 name: 'Panel',74 menuItemText: 'Panel',75 clickSelector: insertMenuSelector,76 nodeSelector: 'div[paneltype] p',77 content: 'text',78 appearance: ['full-page'],79 },80 {81 name: 'Horizontal Rule',82 menuItemText: 'Horizontal Rule',83 clickSelector: insertMenuSelector,84 nodeSelector: 'hr',85 appearance: ['full-page', 'comment'],86 },87 {88 name: 'Date',89 menuItemText: 'Date',90 clickSelector: insertMenuSelector,91 nodeSelector: 'span[timestamp]',92 appearance: ['full-page'],93 },94 {95 name: 'Columns',96 menuItemText: 'Columns',97 clickSelector: insertMenuSelector,98 nodeSelector: 'div[data-layout-type] p',99 content: 'text',100 appearance: ['full-page'],101 },102 // -----------------103 // Toolbar items104 // -----------------105 {106 name: 'Table',107 clickSelector: 'span[aria-label="Insert table"]',108 nodeSelector: 'table th p',109 content: 'text',110 appearance: ['full-page', 'comment'],111 },112 {113 name: 'Action',114 clickSelector: 'span[aria-label="Create action"]',115 nodeSelector: 'ol[data-task-list-local-id] div',116 content: 'text',117 appearance: ['full-page', 'message'],118 },119 {120 name: 'Decision',121 clickSelector: 'span[aria-label="Create decision"]',122 nodeSelector: 'ol[data-decision-list-local-id] div',123 content: 'text',124 appearance: ['message'],125 },126 {127 name: 'Ordered list',128 clickSelector: 'span[aria-label="Ordered list"]',129 nodeSelector: 'ol li p',130 content: 'text',131 appearance: ['full-page', 'comment'],132 },133 {134 name: 'Unordered list',135 clickSelector: 'span[aria-label="Unordered list"]',136 nodeSelector: 'ul li p',137 content: 'text',138 appearance: ['full-page', 'comment'],139 },140 Array.from(Array(6).keys()).map(key => {141 const level = key + 1;142 return {143 name: `Heading ${level}`,144 clickSelector: 'button[aria-haspopup="true"]',145 menuItemText: `Heading ${level}`,146 nodeSelector: `h${level}`,147 tagName: `h${level}`,148 content: 'text',149 appearance: ['full-page', 'comment'],150 };151 }),152 // -----------------153 // Marks154 // -----------------155 ['Italic', 'Bold'].map(key => ({156 name: key,157 clickSelector: `span[aria-label="${key}"]`,158 nodeSelector: '.ProseMirror p',159 content: 'text',160 appearance: ['full-page', 'comment'],161 })),162 ['Underline', 'Strikethrough', 'Code', 'Subscript', 'Superscript'].map(163 key => ({164 name: key,165 menuItemText: key,166 clickSelector: advanceFormattingMenuSelector,167 nodeSelector: '.ProseMirror p',168 content: 'text',169 appearance: ['full-page', 'comment'],170 }),171 ),172 Array.from(colorPalette.values()).map(key => {173 return {174 name: `Text color: ${key}`,175 clickSelector: 'span[aria-label="Text color"]',176 menuItemSelector: `button[title="${key}"]`,177 nodeSelector: '.ProseMirror p',178 content: 'text',179 appearance: ['full-page', 'comment'],180 };181 }),182 // -----------------183 // Dropdowns184 // -----------------185 {186 name: 'Normal text dropdown',187 clickSelector: 'button[aria-haspopup="true"]',188 appearance: ['full-page', 'comment'],189 },190 {191 name: 'Insert menu',192 clickSelector: insertMenuSelector,193 appearance: ['full-page', 'comment'],194 },195 {196 name: 'Advance formatting menu',197 clickSelector: advanceFormattingMenuSelector,198 appearance: ['full-page', 'comment'],199 },200 {201 name: 'Text color picker',202 clickSelector: 'span[aria-label="Text color"]',203 appearance: ['full-page', 'comment'],204 },205 {206 name: 'Mention picker',207 clickSelector: 'span[aria-label="Add mention"]',208 nodeSelector: 'span[data-mention-query]',209 appearance: ['full-page', 'comment', 'message'],210 },211 {212 name: 'Hyperlink Recent Search',213 clickSelector: 'span[aria-label="Add link"]',214 appearance: ['full-page', 'comment'],215 },216];217// group tests by appearances218export const baseTestsByAppearance = {};219const addToAppearance = test => {220 test.appearance.forEach(appearance => {221 if (!baseTestsByAppearance[appearance]) {222 baseTestsByAppearance[appearance] = [];223 }224 baseTestsByAppearance[appearance].push(test);225 });226};227baseTests.forEach(test => {228 if (Array.isArray(test)) {229 test.forEach(addToAppearance);230 } else {231 addToAppearance(test);232 }233});234// @ts-ignore235export const imageSnapshotFolder = require('path').resolve(236 // @ts-ignore237 __dirname,238 `__image_snapshots__`,239);240export const snapshot = async page => {241 const image = await page.screenshot();242 // @ts-ignore243 expect(image).toMatchProdImageSnapshot();...
clickAndHoverHelper.js
Source:clickAndHoverHelper.js
1var WAIT_TIMEOUT = 5000;2module.exports = function (casper, scenario) {3 var waitFor = require('./waitForHelperHelper')(casper, WAIT_TIMEOUT);4 var hoverSelector = scenario.hoverSelector;5 var clickSelector = scenario.clickSelector;6 var postInteractionWait = scenario.postInteractionWait;7 if (hoverSelector) {8 waitFor(hoverSelector);9 casper.then(function () {10 casper.mouse.move(hoverSelector);11 });12 }13 if (clickSelector) {14 waitFor(clickSelector);15 casper.then(function () {16 casper.click(clickSelector);17 });18 }19 // TODO: if postInteractionWait === integer then do ==> wait(postInteractionWait) || elsevvv20 waitFor(postInteractionWait);...
Using AI Code Generation
1const { openBrowser, goto, click, closeBrowser, clickSelector } = require('taiko');2(async () => {3 try {4 await openBrowser();5 await goto("google.com");6 await click("I'm Feeling Lucky");7 await clickSelector("span", { text: "Sign in", index: 1 });8 await click("Sign in");9 } catch (e) {10 console.error(e);11 } finally {12 await closeBrowser();13 }14})();
Using AI Code Generation
1const { openBrowser, goto, click, clickSelector, closeBrowser } = require('taiko');2(async () => {3 try {4 await openBrowser();5 await goto("google.com");6 await click("Sign In");7 await clickSelector("a", {id: "gb_70"});8 await click("Sign in");9 } catch (e) {10 console.error(e);11 } finally {12 await closeBrowser();13 }14})();15const { openBrowser, goto, click, clickSelector, closeBrowser } = require('taiko');16(async () => {17 try {18 await openBrowser();19 await goto("google.com");20 await click("Sign In");21 await clickSelector("a", {class: "gb_70"});22 await click("Sign in");23 } catch (e) {24 console.error(e);25 } finally {26 await closeBrowser();27 }28})();29const { openBrowser, goto, click, clickSelector, closeBrowser } = require('taiko');30(async () => {31 try {32 await openBrowser();33 await goto("google.com");34 await click("Sign In");35 await clickSelector("a", {class: "gb_70"});36 await click("Sign in");37 } catch (e) {38 console.error(e);39 } finally {40 await closeBrowser();41 }42})();
Using AI Code Generation
1const { openBrowser, goto, click, clickSelector } = require('taiko');2(async () => {3 try {4 await openBrowser();5 await goto("google.com");6 await click("Gmail");7 await clickSelector("a", { text: "Create an account" });8 } catch (e) {9 console.error(e);10 } finally {11 await closeBrowser();12 }13})();14const { openBrowser, goto, click, clickText } = require('taiko');15(async () => {16 try {17 await openBrowser();18 await goto("google.com");19 await click("Gmail");20 await clickText("Create an account");21 } catch (e) {22 console.error(e);23 } finally {24 await closeBrowser();25 }26})();27const { openBrowser, goto, clickButton } = require('taiko');28(async () => {29 try {30 await openBrowser();31 await goto("google.com");32 await clickButton("Sign in");33 } catch (e) {34 console.error(e);35 } finally {36 await closeBrowser();37 }38})();39const { openBrowser, goto, clickLink } = require('taiko');40(async () => {41 try {42 await openBrowser();43 await goto("google.com");44 await clickLink("Gmail");45 } catch (e) {46 console.error(e);47 } finally {48 await closeBrowser();49 }50})();51const { openBrowser, goto, clickImage } = require('taiko');52(async () => {53 try {54 await openBrowser();55 await goto("google.com");56 await clickImage("Google apps");57 } catch (e) {58 console.error(e);59 } finally {60 await closeBrowser();61 }62})();63const { openBrowser
Using AI Code Generation
1const { openBrowser, goto, click, closeBrowser, clickSelector } = require('taiko');2(async () => {3 try {4 await openBrowser();5 await goto("google.com");6 await click("Sign in");7 await clickSelector("div[class='GQ8Pzc'] input[name='identifier']");8 await clickSelector("div[class='GQ8Pzc'] input[name='identifier']", { clickCount: 3 });9 await clickSelector("div[class='GQ8Pzc'] input[name='identifier']", { clickCount: 3, delay: 1000 });10 await clickSelector("div[class='GQ8Pzc'] input[name='identifier']", { clickCount: 3, button: 'right', delay: 1000 });11 await clickSelector("div[class='GQ8Pzc'] input[name='identifier']", { clickCount: 3, button: 'middle', delay: 1000 });12 await clickSelector("div[class='GQ8Pzc'] input[name='identifier']", { clickCount: 3, button: 'left', delay: 1000 });13 } catch (error) {14 console.error(error);15 } finally {16 await closeBrowser();17 }18})();19## clickLink(text, options)20const { openBrowser, goto, clickLink, closeBrowser
Using AI Code Generation
1const { openBrowser, goto, click, closeBrowser, clickSelector } = require('taiko');2(async () => {3 try {4 await openBrowser({headless:false});5 await goto("google.com");6 await clickSelector('a[title="Google apps"]');7 await click('Gmail');8 await click('Sign in');9 await click('Create account');10 await click('Terms');11 await click('Privacy');12 await click('Help');13 await click('Send feedback');14 } catch (e) {15 console.error(e);16 } finally {17 await closeBrowser();18 }19})();20const { openBrowser, goto, click, closeBrowser, clickLink } = require('taiko');21(async () => {22 try {23 await openBrowser({headless:false});24 await goto("google.com");25 await clickSelector('a[title="Google apps"]');26 await click('Gmail');27 await click('Sign in');28 await click('Create account');29 await clickLink('Terms');30 await clickLink('Privacy');31 await clickLink('Help');32 await clickLink('Send feedback');33 } catch (e) {34 console.error(e);35 } finally {36 await closeBrowser();37 }38})();39const { openBrowser, goto, click, closeBrowser, clickButton } = require('taiko');40(async () => {41 try {42 await openBrowser({headless:false});43 await goto("google.com");44 await clickSelector('a[title="Google apps"]');45 await click('Gmail');46 await click('Sign in');47 await click('Create account');48 await clickLink('Terms');49 await clickLink('Privacy');50 await clickLink('Help');51 await clickLink('Send feedback');52 await clickButton('Next');53 } catch (e) {54 console.error(e);55 } finally {56 await closeBrowser();57 }58})();
Using AI Code Generation
1const { openBrowser, goto, click, $, clickSelector } = require('taiko');2(async () => {3 try {4 await openBrowser({ headless: false });5 await clickSelector("input[name='q']");6 await write("Taiko");7 await press('Enter');8 await click("Taiko · Get Started with Taiko");9 await click("Get Started");10 } catch (e) {11 console.error(e);12 } finally {13 await closeBrowser();14 }15})();16const { openBrowser, goto, click, $, clickLink } = require('taiko');17(async () => {18 try {19 await openBrowser({ headless: false });20 await clickSelector("input[name='q']");21 await write("Taiko");22 await press('Enter');23 await clickLink("Taiko");24 } catch (e) {25 console.error(e);26 } finally {27 await closeBrowser();28 }29})();30const { openBrowser, goto, click, $, clickButton } = require('taiko');31(async () => {32 try {33 await openBrowser({ headless: false });34 await clickSelector("input[name='q']");35 await write("Taiko");36 await press('Enter');37 await clickButton("Taiko");38 } catch (e) {39 console.error(e);40 } finally {41 await closeBrowser();42 }43})();44const { openBrowser, goto, click, $, clickImage } = require('taiko');45(async () => {46 try {
Using AI Code Generation
1const { openBrowser, write, closeBrowser, goto, click, $, clickSelector } = require('taiko');2(async () => {3 try {4 await openBrowser();5 await write("Taiko", into($("#lst-ib")));6 await clickSelector("#tsf > div.tsf-p > div.jsb > center > input[type='submit']:nth-child(1)");7 } catch (error) {8 console.error(error);9 } finally {10 await closeBrowser();11 }12})();13const { openBrowser, write, closeBrowser, goto, click, $, clickLink } = require('taiko');14(async () => {15 try {16 await openBrowser();17 await write("Taiko", into($("#lst-ib")));18 await click($("#tsf > div.tsf-p > div.jsb > center > input[type='submit']:nth-child(1)"));19 await clickLink("Taiko - Google Search");20 } catch (error) {21 console.error(error);22 } finally {23 await closeBrowser();24 }25})();26const { openBrowser, write, closeBrowser, goto, click, $, clickButton } = require('taiko');27(async () => {28 try {29 await openBrowser();30 await write("Taiko", into($("#lst-ib")));31 await click($("#tsf > div.tsf-p > div.jsb > center > input[type='submit']:nth-child(1)"));32 await clickButton("I'm Feeling Lucky");33 } catch (error) {34 console.error(error);35 } finally {36 await closeBrowser();37 }38})();
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!!