gemini-testing / testplane

Testplane (ex-hermione) browser test runner based on mocha and wdio
https://testplane.io
MIT License
712 stars 62 forks source link

cannot find invisibleElements typing in #1018

Open albion9919 opened 1 month ago

albion9919 commented 1 month ago

Verify latest release

Hermione version

testplane@8.19.6

Last Hermione version that worked

hermione@8.9.6

Which area(s) of Hermione are affected? (leave empty if unsure)

No response

Link to the code that reproduces this issue or a replay of the bug

NDA

Reproduction steps

install testplane with typescript and try

await this.browser.assertView('..., '...', { ... invisibleElements: ['...'], });

Actual Behavior

After migrating from hermione@8 to tesplane faced some problem with typings:

Typescript shows, that invisibleElements is not defined on assertView

await this.browser.assertView('..., '...', {
                invisibleElements: ['...'],
});

But tesplane works line invisibleElements are used.

We create patch for typings:

diff --git a/build/src/config/types.d.ts b/build/src/config/types.d.ts
index........ ...
--- a/build/src/config/types.d.ts
+++ b/build/src/config/types.d.ts
@@ -13,6 +13,12 @@ export interface BuildDiffOptsConfig {
     ignoreCaret: boolean;
 }
 export interface AssertViewOptsConfig {
+    /**
+     * DOM-node selectors which will be ignored (painted with a black rectangle) when comparing images.
+     *
+     * @defaultValue `[]`
+     */
+    invisibleElements: string | Array<string>;
     /**
      * DOM-node selectors which will be ignored (painted with a black rectangle) when comparing images.
      *

1) Is it really bug in typings ? 2) can you fix this ❤️ ?

Expected Behavior

No typing error

Which Node.js version are you using?

20.11.0

shadowusr commented 1 month ago

Hey!

We don't have invisibleElements option. We have ignoreElements and it's present in typings. You might be referring to https://github.com/ruslanxdev/hermione-assert-view-extended package which does have this option, but it's not ours and we don't support it.

If Testplane's built-in ignoreElements option doesn't fit your use-case and you need invisibleElements specifically you can describe your use-case and we can consider implementing this as a feature request.