Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-37968

schedule build on parametrised jobs randomly fails when the form is not loaded before timeout

XMLWordPrintable

      Sometimes when executing `job.scheduleBuild()` on a parametrised job selenium test fails with

      org.openqa.selenium.NoSuchElementException: Unable to locate By.xpath: .//input[./@type = 'submit' or ./@type = 'reset' or ./@type = 'image' or ./@type = 'button'][((./@id = 'Build' or ./@name = 'Build' or contains(./@value, 'Build')) or contains(./@title, 'Build'))] | .//input[./@type = 'image'][contains(./@alt, 'Build')] | .//button[(((./@id = 'Build' or contains(./@value, 'Build')) or contains(normalize-space(.), 'Build')) or contains(./@title, 'Build'))] | .//input[./@type = 'image'][contains(./@alt, 'Build')] in http://172.17.0.1:55457/job/matrixJob/build?delay=0sec
      For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
      Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
      System info: host: 'ip-172-18-64-125', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.0-42-generic', java.version: '1.8.0_40'
      Driver info: driver.version: unknown
      	at org.openqa.selenium.support.ui.FluentWait.timeoutException(FluentWait.java:292)
      	at org.jenkinsci.test.acceptance.junit.Wait.timeoutException(Wait.java:143)
      	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:261)
      	at org.jenkinsci.test.acceptance.junit.Wait.until(Wait.java:74)
      	at org.jenkinsci.test.acceptance.po.CapybaraPortingLayerImpl.find(CapybaraPortingLayerImpl.java:197)
      	at org.jenkinsci.test.acceptance.po.CapybaraPortingLayerImpl.clickButton(CapybaraPortingLayerImpl.java:88)
      	at org.jenkinsci.test.acceptance.po.Job.scheduleBuild(Job.java:289)
      	at org.jenkinsci.test.acceptance.po.Job.scheduleBuild(Job.java:273)
      	at 
      

      Looks like after clicking on build with Paramters the form parameters take some time to be loaded, causing the exception before.

      It is reproducible launching subsequent builds for a parametrised job, something like

         int i = 0;
                  while (i < 100) {
                      i = i + 1;
                      try {
                          job.scheduleBuild().shouldSucceed();
                      } catch (Exception e) {
                          System.out.print("error");
                      }
                  }
      

            varmenise valentina armenise
            varmenise valentina armenise
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: