CodeceptJS v3.3.4 Release Notes

    • โž• Added support for masking fields in objects via secret function:
    I.sendPostRequest('/auth', secret({ name: 'jon', password: '123456' }, 'password'));
    
    • โž• Added a guide about using of secret function
    • ๐Ÿ‘€ [Appium] Use touchClick when interacting with elements in iOS. See #3317 by @mikk150
    • ๐Ÿ‘€ [Playwright] Added cdpConnection option to connect over CDP. See #3309 by @Hmihaly
    • ๐Ÿ”Œ [customLocator plugin] Allowed to specify multiple attributes for custom locator. Thanks to @aruiz-caritsqa
    plugins: {
     customLocator: {
       enabled: true,
       prefix: '$',
       attribute: ['data-qa', 'data-test'],
     }
    }
    
    • ๐Ÿ‘• [retryTo plugin] Fixed #3147 using pollInterval option. See #3351 by @cyonkee
    • ๐Ÿ’ป [Playwright] Fixed grabbing of browser console messages and window resize in new tab. Thanks to @mirao
    • ๐Ÿ–จ [REST] Added prettyPrintJson option to print JSON in nice way by @PeterNgTr
    • โšก๏ธ [JSONResponse] Updated response validation to iterate over array items if response is array. Thanks to @PeterNgTr
    // response.data == [
    //   { user: { name: 'jon', email: '[email protected]' } },
    //   { user: { name: 'matt', email: '[email protected]' } },
    //]
    
    I.seeResponseContainsKeys(['user']);
    I.seeResponseContainsJson({ user: { email: '[email protected]' } });
    I.seeResponseContainsJson({ user: { email: '[email protected]' } });
    I.dontSeeResponseContainsJson({ user: 2 });