Skip to content

Argument retries for plugin retryFailedStep is not working #3268

@ghost

Description

Hello!

What are you trying to achieve?

I'm trying to use the retryFailedStep plugin with Puppeteer helper; to be more precise I want to increase the number of retries globally for flaky steps.

What do you get instead?

The retryFailedStep plugin is still using the default number of retries ( 3 ) even though I've added in the codecept.conf.jsfile the argument retries: 9, and thus this is unfortunately not working currently.

Provide console output if related. Use --verbose mode for more details.

 I switch to {"name":"app-iframe"}
      › [Url] https://vars.hotjar.com/box-acca23410e696f2ca3087d947271c3d0.html
    Delaying for 100ms
    I click "All Collections"
    [2] Retrying... Attempt #2
    [2] Retrying... Attempt #3
    [2] Retrying... Attempt #4
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] Error | Error: Clickable element "All Collections" was not found by text|CSS|XPath
    [2] <teardown> Stopping recording promises
 › <screenshotOnFail> Test failed, try to save a screenshot

Provide test source code if related

	plugins: {
		autoDelay: {
			enabled: true,
		},
		retryFailedStep: {
			enabled: true,
			retries: 9,
		},
		tryTo: {
			enabled: true,
		},
		screenshotOnFail: {
			enabled: true,
		},

Details

  • CodeceptJS version: ^3.3.0
  • NodeJS Version: v16.14.0
  • Operating System: MacOS Monterey v12.12.1
  • puppeteer Version: ^13.4.1
  • Configuration file:
const { setHeadlessWhen } = require( "@codeceptjs/configure" );
require( "dotenv" ).config();

// Turn on headless mode when running with HEADLESS=true environment variable
// Export HEADLESS=true && npx codeceptjs run
setHeadlessWhen( process.env.HEADLESS );

exports.config = {
	tests: "!(node_modules)/*_test.js",
	output: "./output",
	helpers: {
		Puppeteer: {
			url: "https://myurl",
			show: true,
			waitForNavigation: [ "load", "domcontentloaded" ],
			windowSize: "1280x1024",
			keepCookies: true,
			restart: false,
			keepBrowserState: true,
			smartWait: 12000,
			timeouts: {
				script: 60000,
				pageload: 100000,
			},
			chrome: {
				args: [
					"--no-sandbox",
					"--disable-setuid-sandbox",
					"--disable-web-security",
					"--disable-features=IsolateOrigins,site-per-process",
				],
			},
		},
		ElementHelper: {
			require: "./helpers/element_helper.js",
		},
	},
	include: {
		I: "./steps_file.js",
	},
	bootstrap: null,
	mocha: {},
	name: "integration",
	plugins: {
		autoDelay: {
			enabled: true,
		},
		retryFailedStep: {
			enabled: true,
			retries: 9,
		},
		tryTo: {
			enabled: true,
		},
		screenshotOnFail: {
			enabled: true,
		},
		allure: {
			enabled: true,
		},
	},
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions