From 6b4a4dce60ff4a916da721426a8c54bc76136f0a Mon Sep 17 00:00:00 2001 From: Abe Jellinek Date: Tue, 9 Jan 2024 20:52:26 -0500 Subject: [PATCH] CI: Use constant extension ID Thanks @saschanaz: https://github.com/zotero/translators/pull/3210#issue-2058323242 --- .ci/pull-request-check/selenium-test.js | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/.ci/pull-request-check/selenium-test.js b/.ci/pull-request-check/selenium-test.js index 37da3a04c9..b00f7c14f1 100755 --- a/.ci/pull-request-check/selenium-test.js +++ b/.ci/pull-request-check/selenium-test.js @@ -10,6 +10,7 @@ const translatorServer = require('./translator-server'); const chromeExtensionDir = path.join(__dirname, 'connectors', 'build', 'chrome'); const KEEP_BROWSER_OPEN = 'KEEP_BROWSER_OPEN' in process.env; +const ZOTERO_CONNECTOR_EXTENSION_ID = 'ekhagklcjbdpajgpjgmbionohlpdbjgc'; async function getTranslatorsToTest() { const translatorFilenames = process.argv[2].split('\n').filter(filename => filename.trim().length > 0); @@ -111,21 +112,9 @@ var allPassed = false; .setChromeOptions(options) .build(); - // No API to retrieve extension ID. Hacks, sigh. - await driver.get("chrome://system/"); - await driver.wait(until.elementLocated({id: 'btn-extensions-value'}), 60*1000); - // Chrome 89+ has the extension list expanded by default - try { - let extBtn = await driver.findElement({css: '#btn-extensions-value'}); - await extBtn.click(); - } catch (e) {} - let contentElem = await driver.findElement({css: '#content'}); - let text = await contentElem.getText(); - let extId = text.match(/([^\s]*) : Zotero Connector/)[1]; - - // We got the extension ID and test URL, let's test + // We got the test URL, let's test const translatorsToTest = await getTranslatorsToTest(); - let testUrl = `chrome-extension://${extId}/tools/testTranslators/testTranslators.html#translators=${translatorsToTest.join(',')}`; + let testUrl = `chrome-extension://${ZOTERO_CONNECTOR_EXTENSION_ID}/tools/testTranslators/testTranslators.html#translators=${translatorsToTest.join(',')}`; await new Promise((resolve) => setTimeout(() => resolve(driver.get(testUrl)), 500)); await driver.wait(until.elementLocated({id: 'translator-tests-complete'}), 30*60*1000); testResults = await driver.executeScript('return window.seleniumOutput');