量角器最大调用堆栈错误

时间:2016-09-27 12:23:05

标签: selenium jasmine protractor

我现在已经使用Protractor很长一段时间了,并且熟悉与Protractor,Webdriver,Jasmine等相关的一系列错误。最近,我遇到过一个我以前没见过的错误:

A Jasmine spec timed out. Resetting the WebDriver Control Flow.

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:714
    super(opt_msg);
         ^
RangeError: Maximum call stack size exceeded

虽然我之前看到过最大的调用堆栈错误,但它们通常与递归函数或可笑的大for循环有关。

所以我对Protractor / Webdriver的意义有点迷失。根据我的理解,这是一个与浏览器相关的错误。但是我没有多少JavaScript直接进入浏览器(只是强行点击一些,并记录了一些对象)。

另外,我在运行我的整套测试(~500个规格)时只看到了这个错误,但每次都会发生,并且它也不会出现在同一个地方我...这是一个片状错误。

有没有人对此错误有解释?

1 个答案:

答案 0 :(得分:0)

发生let next = async function () { await $nextButton.click(); await next(); // function calls itself here } 错误的原因之一是当函数调用自身时。例如

library(shiny)

# 3 different dataframes/data for scatter plots
data1 <- data.frame(a <- c(20,30,35,45,50,60,80),
                    b <- c(60,70,72,77,82,88,90))
data2 <- data.frame(a <- c(20,30,35,45,50,60,80),
                    b <- c(60,70,68,77,82,88,70))
data3 <- data.frame(a <- c(35,40,38,50,52,51,30),
                    b <- c(60,70,72,64,82,88,90))

ui = fluidPage(
  sidebarPanel(
    sliderInput
    (inputId = "fit", label = "estimated correlation",
     min = 0, max = 1,     value = 0),
     actionButton("newplot", "next")),
  mainPanel(plotOutput("plot")))

server = function(input, output) {
output$plot <- renderPlot({
input$newplot
plot(data1)
plot(data2)
plot(data3)
  })
  }

shinyApp(ui = ui, server = server)

这里发生的是代码陷入无限循环并引发错误

因此,只需检查一下代码,并确保不要在偶然的地方这样做