File tree Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Original file line number Diff line number Diff line change 5
5
*/
6
6
export const getChromeExtensionPath = async ( browser : WebdriverIO . Browser ) => {
7
7
await browser . url ( 'chrome://extensions/' ) ;
8
- const extensionItem = await $ ( 'extensions-item' ) . getElement ( ) ;
8
+ /**
9
+ * https://webdriver.io/docs/extension-testing/web-extensions/#test-popup-modal-in-chrome
10
+ * ```ts
11
+ * const extensionItem = await $('extensions-item').getElement();
12
+ * ```
13
+ * The above code is not working. I guess it's because the shadow root is not accessible.
14
+ * So I used the following code to access the shadow root manually.
15
+ *
16
+ * @url https://github.com/webdriverio/webdriverio/issues/13521
17
+ * @url https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite/issues/786
18
+ */
19
+ const extensionItem = await ( async ( ) => {
20
+ const extensionsManager = await $ ( 'extensions-manager' ) . getElement ( ) ;
21
+ const itemList = await extensionsManager . shadow$ ( '#container > #viewManager > extensions-item-list' ) ;
22
+ return await itemList . shadow$ ( 'extensions-item' ) ;
23
+ } ) ( ) ;
24
+
9
25
const extensionId = await extensionItem . getAttribute ( 'id' ) ;
10
26
11
27
if ( ! extensionId ) {
You can’t perform that action at this time.
0 commit comments