Selenium JavascriptExecutor没有以詹金斯返回期望值

时间:2019-10-03 02:53:04

标签: javascript java selenium jenkins

我正在使用以下代码在硒测试中提取数据层事件。

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在第一次运行时未返回所有值,这就是它失败的原因。您能帮我了解发生了什么吗?

0 个答案:

没有答案