Skip to content

[🐛 Bug]: Missing resigningEnabled sauce:option in @wdio/types #12397

@AlexRivero

Description

@AlexRivero

Have you read the Contributing Guidelines on issues?

WebdriverIO Version

latest

Node.js Version

20.11.1

Mode

Standalone Mode

Which capabilities are you using?

capabilities: [
        {
            // maxInstances can get overwritten per capability. So if you have an in-house Selenium
            // grid with only 5 firefox instances available you can make sure that not more than
            // 5 instances get started at a time.
            // maxInstances: 5,
            //
            // browserName: 'chrome',
            // acceptInsecureCerts: true
            // If outputDir is provided WebdriverIO can capture driver session logs
            // it is possible to configure which logTypes to include/exclude.
            // excludeDriverLogs: ['*'], // pass '*' to exclude all driver session logs
            // excludeDriverLogs: ['bugreport', 'server'],     

            //SAUCELABS (Android 13 on Google Pixel)
            platformName: 'Android',
            'appium:app': 'storage:<storageId>',
            'appium:deviceName': 'Google.*',
            'appium:platformVersion': '13',
            'appium:automationName': 'UiAutomator2',
            'appium:noReset': true,
            'appium:autoWebview': false,
            'appium:autoGrantPermissions': true,
            'sauce:options': { 
                build: `Test Build`, 
                appiumVersion: 'appium2-20231101',
                resigningEnabled: true
            }
        },
    ],

What happened?

Saucelabs is requiring Instrumentation to be active on all apps to be able to run automated tests. There's a sauce:option that lets the user enable it, but it is not declared in the @wdio/types' SauceLabsCapabilities interface

When adding the resigningEnabled capability to sauce:options I get the following compilation error on all the other capabilities but the resigningEnabled one:
Type 'string' is not assignable to type 'WebdriverIO'.ts(2322)

I have added @wdio/types (latest version) in the package.json, but resigningEnabled doesn't seem to be declared in it.

When manually declaring it in @wdio/types/build/Capabilities.d.ts, the compilation error goes away and it is actually sent within the desired capabilities to SauceLabs appium server

What is your expected behavior?

Since now it is mandatory to have Instrumentation active, resigningEnabled capability should be known by @wdio/types

How to reproduce the bug.

Add resigningEnabled:true capability to sauce:options

Relevant log output

N/A

Code of Conduct

  • I agree to follow this project's Code of Conduct

Is there an existing issue for this?

  • I have searched the existing issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions