Change Log v6

v4 | v3 | v2 | v1 | v0
6.6 (2021-08-01)

[Feature] Support Selenium WebDriver Python 4's recommend syntax: driver.find_element(By.ID, ...) instead of driver.find_element_by_id
[Feature] Support Selenium WebDriver JavaScript 4's syntax (deprecated selenium/testing), using await in the front of most test statements 

6.5.5 (2021-05-14)

[Enhancement] Start project with always showing start page option, show project panel
[Enhancement] {Template} Cucumber env.rb include AgileUtils
[Enhancement] {Refactoring} Extract Function/Page dialog, unable to refocus  in function name text box


[Enhancement] Better support EdgeHTML browser (headless, attach browser)
[Fix] {Refactoring} Extract Page dialog, no caret in function name text box
[Enhancement] Can run seleted against Edge browser


[Enhancement] Add selenium-devtools  gem in ruby edition
[Feature] Display JIRA story description (Markdown) as HTML 


[Enhancement] Add chrome_options.binary in test_helper.rb (commented)
[Update] {Ruby Edition} Bundled Cucumber 6 and selenium-webdriver 4.0.0.beta3


[Feature] Option to highlight all key controls 
[Feature] Option to add delays between operations
[Feature] Remove the below in test_helper 
if defined?(TestWiseRuntimeSupport)
  ::TestWise::Runtime.load_webdriver_support # for selenium webdriver support
[Feature] Option for headless browser mode
[Refactor] Using Selenium Listener to replace selenium_webdriver_testwise_extension, more with more flexible add hooks, Selenium::WebDriver::Support::AbstractEventListener
[Enhancement] Scroll down in console (TraceHtmlWindow)


[Enhancement] Show debugging_spec.rb in project panel on 'run selected test steps'
[Enhancement] Highlight control in test_helper
[Enhancement] click two refresh button (one in project panel) refresh core files
[Enhancement] Refresh core file on clicking refresh button (spec files excluded)
[Enhancement] Fixed 'Open Issues' not shown


[Upgrade] underlying GUI library version


[Enhancement] No auto-indenting on =begin/=end on Ruby code
[Feature] Add JIRA issue description to the panel
[Fix] 'Open Issue' link not showing 


[Enhancement] "dfexal" snippet for aria-label
[Enhancement] "dfer" snippet for new Selenium 4 locator


[Feature] {Refactoring} Extract Page filter based on selection.
                 After user selection, click dropdown will show full page list
6.3.2 (2021-03-26
  • [Enhancement] {Refactoring} Add 'Alt+R' and 'Alt+K' keyboard shortcut
  • [Feature] {Refactoring} Refactor and continue to refactor the next step

6.3.0 (2021-03-21)

  • Support Selenium 4
6.2.36 (2021-02-16)
  • {Ruby Edition} Upgrade Cucumber 5, Rspec 3.10, Watir 6.1.7

6.2.4 (2020-08-02)

  • [Enhancement] Add execution indicator to `driver.execute_script`
  • [Upgrade] third party libraries

6.2.3 (2020-08-01)

  • [Enhancement] Optimze memeory allocation ofr Refactor Dialogs, Navigation dialogs,Select Dir Dialog, New Feature Step , Preferences Dialogs, New File Dialog, Goto Line dialogs

6.2.2 (2020-07-31)

  • [Fix] Program exit in error when quiting on large project when caching is not finished. (kill thread)
  • [Fix] Using MessageDialog/WarningDialog on Stack instead of Heap

6.2.1 (2020-07-26)

  • [Enhancement] {New Snippet} dfensk, dfencsk, dfeisk, dfeicsk for quicker enter keys
  • [Enhancement] {Refactoring} On extract page, if preview has selected text, adding parameter will use the selectted text as the default value
  • [Fix] Escape complete confused when auto-complete words is on (by default) which its first escape was remember (now ignored)

6.2.0 (2020-07-23)

  • [Update] wxWidgets 3.1.4
  • [Update] Bundle chromedriver 84 for Ruby edition

6.1.24 (2020-07-21)

  • [Update] {Project Config} JIRA setting help text, as JIRA server can be http://JIRA or http:/JIRA/jira
  • [Fix] {Execution} Windows stops execution on individual test hangs
  • [Update] {TestHelper} Always keep chrome browser debugging port on (not just debugging?)

6.1.23 (2020-07-19)

  • [Fix] {Auto complete} press enter on "end" with auto complete get unexpected indenting
  • [Update] {Sample} move package.json to samples/ folder (not sub mocha)
  • [Feature] {Mouse} middle click to navigate to declaration (function/page function)

6.1.22 (2020-07-18)

  • [Feature] 'Sample Project' on Start page for macOS (be-aware not checking pychache)
  • [Feature] 'Sample Project' on Start page for Windows. (linux not support webview yet!)v
  • [Change] Default not checking updates on start
  • [Change] Add Xcode build project build step (Shell) to clean cache files on build
  • [Enhancement] Using tinyxml2 to reformat HTML files (does not work non-xhtml format)

6.1.21 (2020-07-17)

  • [Fix] On Windows, file watcher is not enabled on opening new project
  • [Enhancement] RSpec test_helper set to RSpec


  • [Enhancement] @driver = $browser => @driver = $driver

6.1.19 (2020-07-14)

  • [Fix] Git commit crash on missing '' (git_signature_default returns error)

6.1.18 (2020-07-12)

  • [Feature] Detect Edge(Chromnium) driver
  • [Fix] {Configuration} loading environment variables with spaces.
  • [Fix] {Bundler} JavaScript outdenting (for indented test statements)
  • [Fix] {Reformat} JavaScript function caller with correct indenting

6.1.17 (2020-07-11)

  • [Fix] Goto line move to the next line if empty line (GotoEditor's WordRight)
  • [Fix] (the action menu is still shown), remove pointer
  • [Fix] {Editing} press tab on auto complete dialog not complete the word selection
  • [Fix] snippet in snippet (always look for new snippet, if found, discard old one)

6.1.16 (2020-07-10)

  • [Enhancement] Highlight test_helper in test output (RSpec)
  • [Fix] (the action menu is still shown)

6.1.15 (2020-07-04)

  • [Enhancement] Determine method range lines using parent folding (ScriptEditor:GetMethodRange)
  • [Fix] JS move refactoring: wrong determination of method range
  • [Enhancement] Indent on the preview in move refactoring

6.1.14 (2020-07-03)

  • [Enhancement] Add before(:each)... RSpec snippets
  • [Enhancement] Add library for Mocha/PyTest assertions
  • [Enhancement] {Refactoring} Move for Pytest

6.1.13 (2020-07-01)

  • [Feature] Added menu to Indent selected code block (via menu under Script)
  • [Feature]{Snipppet} On expanding a snippet, change "\t" to correct spaces
  • [Enhancement] Tab only align with the previous non-empty line. If the previous line is empty, tab as normal.

6.1.12 (2020-07-01)

  • [Feature] Add Selenium-Python, Selenium-JS, Mocha, Pytest into code library
  • [Feature] {Pytest} insert import new page import statement
  • [Feature] {Mocha} insert import new page import statement

6.1.11 (2020-06-30)

  • [Feature] {PyTest} Helper function navigation
  • [Feature] {Mocha} Helper function navigation
  • [Feature] {Mocha} PageClass navigation
  • [Feature] {Mocha} Page function navigation

6.1.10 (2020-06-29)

  • [Feature] {Mocha} insert new page methods correctly into existing file
  • [Fix] {Mocha} add '()' to extract page method if no parameters
  • [Enhancement] {Linux} Add task bar icon

6.1.9 (2020-06-28)

  • [Feature] Dynamically arjust height of auto complete dialog
  • [Fix] Auto complete words, press escape key, hide auto complete popup
  • [Feature] {Pytest} insert page methods into existing file
  • [Enhancement] Indent CodeBlock on preview in refactor dialogs
  • [Fix] Call tip highlight for Pytest to ignore 'self'

6.1.8 (2020-06-28)

  • {Mocha} Extract page (first method)
  • {Pytest} Extract page (first method)
  • {Mocha} Detect page declaration on extract page refactoring
  • {Pytest} Detect page declaration on extract page refactoring
  • {Pytest} hide 'self' in call tip
  • {Edit} Smart tab on empty line, indent as the last non-empty line

6.1 (2020-06-15)

  • {Framework} Support Cucumber 4 (for Cucumber 3, using 6.0.36), run one test script file Support Cucumber Version with CUCUMBER_VERSION = 3 environment variable
  • {Cucumber} Gerkin 6 syntax highlight and indent

6.0.36 (2020-06-14)

  • {UI} Show framework path on Windows (using where)
  • {UI} Show browser driver path


  • {Edit} eformat JavaScript/Ruby/XML/JSQL/SQL/PY with indent space configuration


  • {Mocha} {Refactoring} Extract function for Mocha (directly to the helper)

6.0.25 (2020-05-29)

  • Linux version of TestWise
  • {UI} Add tab icon in run panel for Windows and Linux

6.0.8 (2020-04-11)

  • {Editing} If current pos out of snippet line range, clear the active snippet.
  • {Editing} make indent guide theme aware.
  • {Internatlisation} - added support of Chinese and Japanese
  • {Editor} Insert snipppets (live templates) via Ctrl+J
  • {UI} resizable run panel and console pane
  • {UI} enhanced the display of total and failed test count
  • {UI} added start page with dynamice contenct (i.e. recent projects), NOTE, this does not work on Windows yet due to browser issue.
  • {Setting} Add option to highlight line of execution in IDE settings.
  • {Search} On user change 'Matching Case/Ignore Case', if the serach text is not empty, preform a new search.
  • {Execution} Using a free port as driver remote debugging port (previously using a fixed port).
  • {UI} A better regex style that works on all themes.

6.0 (2020-03-25)

New Features:

  • Run selected test steps against current browser (Selenium + RSpec)
  • Run to a specific test step
  • Breakpoints
  • SCM (Git) integration

6.0a0 (2018-07-01, project starts)

TestWise v6 will be a total rewrite in C++:

  • Support latest Selenium WebDriver v4
  • Multi-language/test-framework support - Ruby (RSpec,Cucumber), Python (Pytest) and JavaScript (Mocha)
  • Multi-language/driver-framework support - Selenium WebDriver and Appium
  • Better looking User Interface, especially on Retina Display
  • 10x performance enhancement on tool use, noticeable enhancement on test execution.

TestWise milestones

  • 2006-04-11: the proof of concept starts
  • 2007-09-25: v0.1 first version that Zhimin made it available for a colleague. prev v1
  • 2009-01-05: v1 first public release, supports Watir/RWebSpec v1
  • 2011-08-18: v2 supports Selenium 2 (i.e. Selenium WebDriver), Watir 2.0 v2
  • 2012-07-11: v3 supports watir-webdriver and important feature: "run selected test steps against current browser" v3
  • 2014-08-18: v4 supports RSpec 3.0 v4, our main version until 2019.
  • 2016-01-13: v5 a try of moving execution process out of IDE, to support Ruby 2.0 syntax.v5
  • 2018-07-01: v6 development starts, an ambitious goal: a total rewrite in C++.
  • 2020-01-26: v6 beta is public available
  • 2020-03-24: v6.0 is public available

TestWise was formerly known as iTest2, before 2010.