Our legacy site: www.webwob.com   

Updates for running WebPageTest trhough Jenkins

I am still using WebPageTest locally and this page will add to the legacy pages with any new developments on my project.

    recent bash updates     jmeter updates*     jmeter v3.1     Start agent     WPT Jenkins job

Areas covered on this page

1. Using the latest JMeter versions (v3.0 onwards)

2. Printing out to the Jenkins log file (or the Jmeter console)


    

Using the latest JMeter versions (v3.0 onwards)

I want to switch to version 3 of JMeter but there are a few differences and I did need to make a few changes to my setup. So far I have just tested my updated webpagetest script but I presume these changes will carry over to all up-to-date JMeter scripts.

1. Add this registry key
It is a bit odd (especially when needed on a corporate machine), but JMeter v3.0 appears to need this registry setting. Note, I am using a fairly new version of java (/cygdrive/c/Program Files/Java/jdk1.8.0_31/bin/java) here.

Screenshot       
                        
2. Remove the Groovy extension plugin that I needed to use in earlier versions of JMeter
JMeter v3.0 does seem to load with Groovy already available. I guess it is setup with extra extensions by design.

Screenshot       

3. Change your runtime command for any automated test runs
In fact, on this particular example, I am still using an older version of java, but that is due to other projects that still require it. But you can see how I can set the version used on the command line anyway. This is the command I use in my Jenkins job for running webpagetest on a specific build:
      
"C:\Program Files\Java\jre7\bin\java.exe" -jar "C:\jmeter-3.0\bin\ApacheJMeter.jar" -n -t C:\jmeter\scripts\webpagetest-urlList-scripts-docLoaded-monitor.jmx -JurlListcsvFile=home_page2_block.csv -JtestHost=DTEnnnn.yyyyyyyyyy.local -JtestHostPort=80 -Jlocation=Office_wptdriver:Chrome.Cable -Jfail_limit=8000 -JfirstViewOnly=0 -Jruns=2 -Jitem_url=http://service.maxymiser.net/cg/v5


    
    

Printing out to the Jenkins log file (or the Jmeter console)


This is a bit more reliable than 'log.info'
(Direct java output rather than using the jmeter functions)
  System.out.println('my_ip is ' + my_ip)