Selenium JavascriptExecutor не возвращает ожидаемые значения в jenkins - PullRequest
0 голосов
/ 03 октября 2019

Я использую следующий код для извлечения события уровня данных в моем тесте селена.

JavascriptExecutor  jse = (JavascriptExecutor)getDriver();

ArrayList<Map<String, List<String> >> myList = new ArrayList<>();   
myList =  (ArrayList) jse.executeScript("return window.dataLayer");
for(int a=0; a < myList.size(); a++) {
    for (String key : myList.get(a).keySet()) {
        //printing event values
    }
}
// assertion to look for particular events

Когда я запускаю скрипт выполнения локально, он работает как положено.

Однако, когда я добавляю его в jenkins, скрипт всегда дает сбой при первом запуске и проходит только при втором запуске. Я не могу понять проблему. Когда я просматриваю журналы, это показывает, что для первого запуска jse.executeScript возвращает только два события, тогда как во втором запуске jse.executeScript возвращает 6 событий. Итак, я предполагаю, что return window.dataLayer не возвращает все значения в первом запуске, и это причина его сбоя. Можете ли вы помочь мне понять, что происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...