Releases: Qarj/WebImblaze
Releases · Qarj/WebImblaze
WebInject 1.51
Version 1.51 - Jan 19, 2016
- removed unused feature in sub httppost_xml that checks if xml response is well-formed
- Error package no longer needs to be downloaded from CPAN for Strawberry Perl
WebInject 1.50
Version 1.50 - Jan 18, 2016
- added parameter decodequotedprintable which decodes a quoted-printable response and replaces it with the decoded version
WebInject 1.49
Version 1.49 - Jan 13, 2016
- refactored the assertion skips functionality and summary info is now included in results.xml
WebInject 1.48
Version 1.48 - Jan 12, 2016
- added {OPT_PROXY} and renamed {PROXYRULES} to {OPT_PROXYRULES}
- removed erroneous firstlooponly lastlooponly from config for loop
- tweak to custom_wait_for_text_visible - increased wait checks from 0.1 to 0.5 seconds
WebInject 1.47
Version 1.47 - Jan 12, 2016
- added smartassertions feature along with ignoresmartassertions parameter
WebInject 1.46
Version 1.46 - Jan 11, 2016
- refactored gethrefs and getsrcs, added getbackgroundimages
WebInject 1.45
Version 1.45 - Jan 10, 2016
- Fixed a bug logresponseasfile when used with output folder filename prefix
- Added many additional self tests
WebInject 1.44
Version 1.44 - Jan 9, 2016
- Fixed a bug with the sleep conditions for retryfromstep
- Many more self tests added
WebInject 1.43
Version 1.43 - Jan 9, 2016
- Now support any number of assertcount - e.g. assertcount5000, assertcountDISTANCE
WebInject 1.42
WebInject version 1.42 released!
WebInject 1.41 at webinject.org was used as the starting point.
This version has many new features and changes (see below for full change log).
Manual - 5 Jan, 2016
In addition, the manual has been rewritten (in markdown) and extended.
Examples - 7 Jan, 2016
Also, there are many working examples you can run in the examples folder.
Version 1.42 of webinject.pl - Nov 28, 2015
- Include additional info about which testcase is being run - just after the log file separator
- Added retry parameter to cater for data replication latency
- Created a globalretry setting in the config to set a maximum number of retries for a test run
- Added sanitycheck parameter - all test execution will cease if there has been any error before the check
- Added testonly parameter - flags that a test case should only be run against test environments
- Added liveonly parameter
- Added {STARTTIME} as a substitution value - timestamp of when test execution began
- Support running of operating system commands through the backtick method
- Changed the way escape works - to fix an issue with escaping __VIEWSTATE
- Changed the way addheader works so it takes priority over maintaining cookies
- Added "application/json" to the error message that is output if you've carried out a POST using an invalid Content Type
- Added logastext parameter - writes html and xmp tags around the response in the http log
- Made a tweak to enable NTLM::Authen to work
- Made it possible to specify a custom regex in the parseresponse
- Added autocontroller only parameter - test case will only be run if the host is an automation controller (as opposed to a developer desktop)
- Added the ability to specify a custom message when a specific verifypostive or verifynegative fails
- Added the ability to decode HTML Entities for parseresponse (use in place of escape)
- Changed {TEMP} to {OUTPUT}
- Added {HH}, {MM} and {SS} substitutions
- Added {COUNTER} substitution - shows current loop number
- Support Selenium Server 2.0
- Added parameters checkpositive, checknegative, checkresponsecode - allows specific test cases to be skipped in error scenarios
- When WebInject loops, 10000 is now added to the test case numbers
- Added {TESTNUM} substitution
- Added {OUTSUM} substitution - simple hash of the output folder - was added to increase uniqueness of data when running in parallel
- Added section parameter - for specifying a section break in the results
- Added assertcount parameter - asserts that you find a particular regex exactly the specified number of times
- Added onceonly parameter - when WebInject loops, onceonly test cases will be ignored
- Added firstlooponly and lastlooponly parameters - test cases will only be run on the first or last loop (for setup and teardown)
- Added {DATA} substitution - will automatically pull data values from the previous test step result with the same host and path, e.g. the __VIEWSTATE value
- Added {NAME} substitution - allows simple wildcard for http post field names
- Added searchimage parameter - finds one image inside of another - requires Python 2.6 and a few other bits to work
- Added formatxml parameter - does very simplistic formatting of XML response, i.e. adds a few carriage returns here and there so the entire response is not on one line
- Added formatjson parameter - very simplistic formatting of JSON response
- Find the Windows browser window handle of the Selenium session to enable a very fast screenshot (much faster than Selenium), needed for running many Selenium tests in parallel
- Added {CONCURRENCY} substitution - the value is the output folder name only, not full path
- Added {HOSTNAME} substitution
- Explicitly state not to verify SSL certificates, required for newer versions of LWP SSL
- Added a substitution for the teststep run time, e.g. {TESTSTEPTIME:510} will substitute in the execution time of test step 510
- Added {DATETIME} and {FORMATDATETIME} substitutions
- Added addcookie parameter which will add a single cookie (as opposed to addheader which overwrites all existing cookies)
- The http log separator is now written out before each test case, in addition, a final log separator is written at the end of the test run
- Added {RETRY} substitution - shows the current retry attempt number
- Added retryfromstep parameter - will retry from the specified test case number
- Added {JUMPBACKS} substitution - the number of times retryfromstep has been invoked
- Added globaljumpbacks config value - i.e. maximum number of jump backs allowed in a test run
- Added restartbrowseronfail parameter - will restart the Selenium session and WebInject session if the test case failed
- Added restartbrowser parameter
- Added commandonerror parameter - will run an operating system command if the test case failed e.g. to clean things up
- Added support for automatic assertions to be run against every single test case - the auto assertions are specified in the config file
- Added support for arbitrary user defined substitutions from the config file so you can specify things like {DOMAIN}, {TEAMNAME}, {WEBSITEURL} or whatever
- Added {NOW} substitution - the current time, updated with every retry
- Flush html results to disk immediately before making the web call for each test case
- Added -i WebInject.pl start up option, all retry and retryfromstep will be ignored
- Added a way of tagging production issues without having to comment out / remove the test case
- Added support for as many parseresponses as you desire so you can now go parseresponseMYVARIABLE="..." and refer to it as {MYVARIABLE}
- As a result of the parseresponse change, parseresponse with numbers will now be referred as {1}, {2}, {50} etc ..., use {} for null
- Replaced all tabs with 4 spaces
- Support any number of verifypositive and verifynegative
- verifypositivenext, verifynegativenext parameters removed - not compatible with retry, also could not think of any scenario where this feature is necessary
- Added gethrefs and getsrcs parameters - used saving off page assets that match a wildcard
- Changed the way substitution works, so instead of having a simple for loop over known parameters, all test case attributes are included by way of a foreach
- Added verifyresponsetime parameter
- Added retryresponsecode parameter - retry if a particular http response code is found, e.g. 500
- Added {ELAPSED_SECONDS} and {ELAPSED_MINUTES} substitutions (updated with every retry)
- Added helper subroutines for Selenium WebDriver to do common tasks e.g. peform a click using JavaScript, the subroutines are
- custom_select_by_text
- custom_clear_and_send_keys
- custom_mouse_move_to_location
- custom_switch_to_window
- custom_js_click
- custom_js_set_value
- custom_js_make_field_visible_to_webdriver
- custom_check_element_within_pixels
- custom_wait_for_text_present
- custom_wait_for_text_not_present
- custom_wait_for_text_visible
- custom_wait_for_text_not_visible
- custom_wait_for_element_present
- custom_wait_for_element_visible