Skip to content

Commit 339ce43

Browse files
Co-authored-by: Jonghakseo <jonghak.seo@creatrip.com>
1 parent 5bf1fdd commit 339ce43

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

tests/e2e/utils/extension-path.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,23 @@
55
*/
66
export const getChromeExtensionPath = async (browser: WebdriverIO.Browser) => {
77
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+
925
const extensionId = await extensionItem.getAttribute('id');
1026

1127
if (!extensionId) {

0 commit comments

Comments
 (0)