как выполнить указанный дочерний тестовый пример каждый раз, когда страница загружается без повторения - PullRequest
0 голосов
/ 05 февраля 2020

Я хочу запустить тестовый пример, который проверяет, нет ли никаких сообщений xdebug после открытия / загрузки новой страницы каждый раз. Теперь я просто делаю это, например:

 Open /
 run no_xdebug
 assert ...
 (...)
 click linkText=Something # go to next page
 run no_xdebug
 assert ...
 (etc. ...)

, но это немного повторяется.

Интересно, могу ли я использовать внутренний обмен сообщениями для плагинов, описанных здесь: https://selenium.dev/selenium-ide/docs/en/plugins/requests и зарегистрируйте прослушиватель сообщений, используя executeScript, выполнив что-то вроде этого:

executeScript   browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
                  if(message.commands.search("^(open|clik)$") {
                    doRunNoXdebugTestCase(); //ex. browser.runtime.sendMessage(SIDE_ID, ...); ??
                    return true; 
                  }                    
                }
Open /
assert ...
click ...
assert ...
(etc...)

Но, похоже, это не работает. Например, вызов console.log (message.commands) вместо doRunNoXdebug () для тестирования работает только для начального окна с текстом «Подготовка к запуску теста» (url: moz-extension), но не после команды «Открыть» .

Возможно ли использовать его таким образом, и если да, то как вызвать run команду в слушателе?
Любой возможный / другой / лучший способ добиться этого?

-
С уважением
Павел Сувински

...