- [Add] Added action that converts JSON file or Data to CSV file or Vsriable
- [Add] 'next', 'this', 'next_actions' keywords implementation
- [Improve] If else action conditions now requires exact python syntax
- [Add] Action has been added to know element size and location
- [Add] Drag and Drop by offset has been added
- [Add] Custom error msg feature
- [Change] Support for the new Authentication System 2.0 has been added.
- [Change] Improved reconnect time of node by 10x-30x once it detects a live server.
- [Change] Removed unnecessary codes + APIs.
- [Change] Improved general login time because of the above change.
- [Add] Rest API response to raw file.
- [Add] Custom Profile Functionality
- [Add] New server-node architecture
- [Add] AI Test recorder extension
- [Add]
%|num()|%variable to extract number from any text
- [Change] AI Inspector new api integrated
- [Fix] Inspector bug fixes and improvements
- [Fix] Appium desired capabilities fix
- [Change] HTTP Long poll is implemented in deploy handler
- [Add] profile add for browsers
- [Add] easyocr implement for desktop
- [Add] AI web extension integrated with automation browser
- [Add] Connect and Run Query on BigQuery
- [Add] Page load timeout
- [Add] New "Rust" based performance action.
- [Add] Added - Text to Speech action
- [Add] Added - S3 Actions
- [Fix] Fix chrome. firefox & edge driver issues on selenium 4.10 (executable_path error).
- [Add] Browserstack - WEB support
- [Add] Added - Convert XML to JSON format
- [Add] Added - sbl flag to enable showing browser log in console. Default: False
- [Add] Resize selenium window action
- [Add]
Save if not definedin save into variable - [Add] Prevent printing specified variables
- [Add] Rest response comparison feature added into compare data action
- [Add] Added -spu or --stop_pip_auto_update to disable auto python module update
- [Add] Immediate parent support in windows path
- [Add] Add Open Empty Browser Action
- [Add] Add Skip TestCases Action
- [Add] Fix browserstack issue from node and refactored for appium v2
- [Fix] Fix shell FillNotFoundError on mac real device
-
[Add] Continue to next iter feature is implemented in For Loop Action
-
[Fix] datatype fix and checkbox/toggle item fix for windows
-
[Fix] browser performance matrices is confined to chrome and edge browsers only
-
[Add] Largest Contentful Paint is added in browser performance matrices
-
[Improve] Stale element error is handled in click and check action
-
[Add]
zeuz_prettify_limitvariable can limit prettify characters -
[Add] Added secondary random mailbox
-
[Add] Added Browser Performance metrics, Step metrics, Action metrics
-
[Add] Import files in Execute Python Code action
-
[Add] Added a reserved variable
zeuz_attachments_dir -
[Add] Enabling connection for two of more database simultaneously
-
[Add] 'uuid' module is inserted into variable parsing
-
[Add] 'frame parameter' support is added into Switch_Iframe action
-
[Add] Action for get access token url (oauth 2.0) with documentation
-
[Add] Browser action for get current url from address bar with documentation
-
[Add] Basic performance testing functions for rest calls
-
[Add] Added selenium grid functionality. Usage:
cd .../Framework/Built_In_Automation/Web/Selenium docker-compose -f docker-compose-v3.yml up -
[Fix] Compare data ignore_list_order bug fix
-
[Fix] Zeuz_auto_teardown variable bug fix
-
[Fix] Mobile browser update bug fix
-
[Fix] zeuz_pid_finder bug fix for chrome
-
[Add] Authenticator code generator action is added for windows
-
[Improve] Function handle capability inside csv cells is implemented
-
[Fix] Windows_pid issue solved for image searching
-
[Add] Don't download the same attachments multiple times. This is achieved by keeping track of hashes of the attachment files sent from the server.
Technical note: protobuf definitions updated.
-
[Add] Add support for multiple certificates in API actions. Use them like so:
- cert | optional parameter | filename.pem
- cert | optional parameter | filename.cert, filename.key
Certificates are best used by pairing with the
sessionoptional parameter. -
[Fix] Fixed return for common screenshot action
- [Change] Change the deploy system. This change replaces the old deploy system code with a new one that is compatible with the v3 engine on the server side. This works by connecting with a persistent websocket connection that is forcefully disconnected every 30 seconds from the server side. This makes sure that we don't have long persistent but unstable connections. There are also other mechanisms in place to make sure we always receive test cases in proper order. If for some reason, node's connection breaks when test cases are in-flight (being sent from server to node), they'll be automatically restored back to the run id so that node can run the same test case even though the connection got disrupted. Run cancellations work properly. In deploy API you can also specify preferred nodes so that some test cases are always run in those preferred nodes.
- [Fix] Convert all timestamps into UTC timezone to match server timezone. This fixes all runid related time issues like showing a negative date and time difference.
- [Fix] SID and service name is required for Oracle database only. Previously error was showing when user didn't input SID and service name for other database(for example MySQL etc.). Now this has been fixed.
- [Add] Add profile functionality for Chrome
- [Add] Add extension functionality for Chrome
- [Improve] Chrome browser options and arguments
- [Add] Upload window is automated with pyautogui for MAC
- [Improve] spaces inside appium binary path is now supported
- [Add] Added swipe by uiautomator action for android
- [Add] Added uiautomatorviewer.bat inside App directory
- [Improve] Added plus button support in keystroke action
- [Change] Removed printing the whole traceback of error
- [Add]
%|zeuz_auto_teardown|%variable is added for turning off auto teardown
- [Change] Screenshot image quality upgraded to resolution 1920,1080
-
[Add] Added capability for handling alert as desired.
-
[Add] Added action read scanned pdf
-
[Add] email_attachment feature is added into email_read action
-
[Add]
zeuz_current_tcandzeuz_current_stepvariables are added -
[Add] Add capability for handling alert as desired.
-
[Add] Added 4 new actions:
Attachments upload to TestcaseAttachments upload to StepAttachments upload to GlobalDisable steps
-
[Change] openpyxl is made default for excel_read
-
[Change] Reporting structure is changed
-
[Fix]
--log_diris fixed -
[Fix] import pyautogui fix for ui-less machine
-
[Remove] SSL validation is bypassed while installing webdriver
- [Fix] Pyautogui import fix for ui-less machine
- [Add] Added missing commits of
AlertandAndroid browser
- [Change] Improve README.md.
- [Add] Added Attachment Upload and Download actions
- [Add] Added Upload through window for web
- [Add] Added actions for different pdf format comparison
- [Add] Added extract_text_from_pdf action
- [Add] Openpyxl module is added for Excel for silent read
- [Add] Add optional parameter
read as jsoninRead Text Filecommon action - [Improve] Improved click and download action with wait and file managements
- [Improve] Node logging is enhanced with rich UI
- [Change] Launch mobile browser only on desktop chrome
- [Fix] Node-offline bug is fixed
- [Fix] Switch to Alert action is fixed by replacing deprecated methods and dataset parsing
- [Fix] REST API action - POST
multipart/form-datasend payload asdataparameter instead offiles.
- [Add] Add
http_response_headersandhttp_status_codevariables for REST API actions. - [Add] Add
allow redirectoptional parameter to REST actions. - [Fix] Internal: respect
print_variableparameter.
- [Add] Session based requests (same session requests will utilize connection pooling, cookie sharing, etc.)
- [Add] Ability to specify a an environment variable
ZEUZ_NODE_CLIENT_CERTwhich contains the location to the certificates directory or a default certificate directory inZeuZ Node > Framework > certificatesso that every API action will use these certificates to issue any kind of requests.
- [Add] Added Python Expression evaluation inside our
%||%syntax
Examples:
%|os.environ["DB_PASS"]|% will return any env var value
%|[i.lower().strip() for i in list_var]|% its a list comprehension that will lower and strip every item in that list
%|sum([1,2,3,4])|% will return the sum of the list inside. similarly you can use any builtin fun() such as print(), len(), reversed(), min(), max()
%|list(filter(lambda x: (x % 13 == 0), my_list))|% will return a list of numbers divided by 13
%|list(zip(list_a, list_b))|% will merge the lists into a parent list and return you a matrix
%|str(pathlib.Path("~/Desktop/file.txt").expanduser() if platform.system()=="Windows" else pathlib.Path("~/file.txt").expanduser())|% will retrun a file_path based on windows/linux/mac
- [Deprecate] Deprecated
%|random_string|%,%|random_number_in_range|%,%|pick_random_element|%,%|rest_response|%variables - [Add] Run-cancel will cancel the run on node
- [Add] Run-on-fail step has been implemented
- [Fix] Browserstack bug is fixed
- [Improve] If browser is closed then teardown automatically and restart browser
- [Improve] Support for running apps simultaneously in same mobile
- [Improve] If browser is closed then teardown automatically and restart browser
- [Improve] Support for running apps simultaneously in same mobile
- [Improve] Web Drag and Drop action is combined into single action
- [Add] Windows Scroll to an Element and Swipe action are added
- [Add] Snapshot search and Image text search is added with parent support in Windows
- [Add] Added Check_uncheck action for windows
- [Add] Toggle pattern and selection item pattern is added into save_attribute action
- [Add] Added Chrome Electron App launch with required browser version
- [Improve] Save Attribute values is improved to scroll and extract data according to coordinates
- [Improve] Made time format cross-platform
- [Improve] direct access given number of levels in xml tree
- [Improve] Improved windows Launch app with maximize, setting custom size and location, wait, inspector open
- [Improve] Improved today variable with cross-platform feature
- [Improve] Server side system bug now will be handled in Node
- [Add] Extract Table data action is added for selenium
- [Add] Added multiple keystroke for selenium with + sign
- [Fix] WebDriver_installer fixed
- [Add] Added appium custom swipe action and appium swipe to an element action.
- [Change] Autoscroll is set off by default.
- [Add] Added wait as an optional option in every action of appium and selenium. Example: (wait, optional option, 15)
- [Add] Also you can set a default wait from
element_waitvariable in settings.conf file - [Add] Also you can change it in anywhere in a testcase with a save variable action changing
element_waitvariable - [Add] Added auto_scroll_appium which will scroll automatically when an element is not found inside a scrollable page
- [Add] Zeuz_Snapshot app is added which will upload a snapshot in server global attachment
- [Improve] Improved Zeuz_Windows_Inspector with proper loop and pause
- [Add] Text write action is added
- [Improve] Upload log action is improved
- [Change] Settings.conf variables are changed
- [Fix] Appium teardown is fixed
- [Add] Desktop conditional if else action is added
- [Fix] Read Email and Delete Email actions are fixed
-
[Add] Add support for specifying custom log directory. Usage:
python node_cli.py -d /path/to/custom/dir python node_cli.py --log_dir /path/to/custom/dir
- [Add] size and location added into Save_attribute appium
- [Improve] Improved Windows inspector with parent sibling
- [Add] Dictionary support is added in compare variable action
- [Add] key-value structure is added in excel_read action
- [Improve] Improved variable parsing by handling escape characters
- [Change] All internal APIs that communicate with Zeuz Server are now authenticated by API key. Only API key based login is going to work now.
- [Add] Desktop record and replay action! Record your mouse interactions
with Node > Apps > desktop-recorder > MouseModuleRecorder.py and replay
them with the
playback recorded eventsaction. - [Fix] Switch Iframe and Slider bar bug is fixed
- [Add] Custom step duration action is added
- [Add] Read and save mail action is added
- [Add] Delete mail action is added
- [Add] Search and save text using regex action is added
- [Fix] Fixed variable parsing limitations
- [Fix] Fixed exact match bug and improved subset in compare_data action
- [Add] All types of operators = ["|==|", "==", "|!=|", "|<=|", "|>=|", "|>|", "|<|", "|in|"] now can be used in For loop and While loop exit conditions. Example:
exit loop and continue, optional loop setting, if "start date" |in| %|row[0]|% - [Add] Added all python default methods in zeuz variable syntax. Example:
%|list_name.sort()|%%|var_name.upper().strip().split(" ")|%
- [Add] Parse port from database host url if specified in the form
127.0.0.1:8080where the port is separated by a:symbol.
- [Add] Parent/Sibling/Index method added
- [Add] Partial and case-insensitive search added
- [Add] Element path method is added for searching an Element
- [Add] ZeuZ_Windows_Inspector.py app is added for generating path for an element
- [Add] Zeuz default variable "os_name" is added
- [Add] Wait for element to appear and disappear actions are added
- [Add] "Save attribute values in list" action added
- [Fix] All other desktop actions are fixed and improved
- [Change] If all actions are disabled pass the step anyway
- [Change] If internet goes down ZeuZ Node will now automatically handle the login when internet is up again
- [Change] Changed Report API to handle both server version
- [Add] [internal] Large sets will be uploaded in several sessions with maximum 25 testcases each
- [Add] [internal] Node_state.json is generated to communicate between nodes and node_manager
- [Fix] [internal] Node's main driver crashes/exceptions should not bubble up to top level.
- [Fix] jUnit report generation error.
- [Add] Add
-o,--onceflag for running only a single session and then quit node automatically. Useful for daemons, cron jobs & CI/CD.
- [Change] Changed attachment variable parsing
- [Add] Added file path option in execute python code action
- [Add] Partial case-insensitive search for web and mobile is added as **attribute = attribute_value
- [Add] Added new action for iframe switching in web
- [Fix] Selenium "Enter text" action: on mac,
Command + amust be used to select all text in a text field.
- [Add] "String" append to [List] is handled in "Save variable - number string list dictionary" action
- [Change] Str without first brackets are restricted to be converted into tuple
- [Add] New Replace string action added
- [Add] For Loop and While Loop can now fail the step when exit condition is met. Also introduced "any" parameter
- [Improve] Split action improved to convert json and non json objects to string then split
- [Improve] Variable parsing improved for non json type objects
- [Add] Appium new powerful "Scroll to an element" action is added
- [Fix] Appium device, teardown and Windows terminal closing issue fixed
- [Add] Appium seek progress bar action added
- [Remove] Disabled
Rerun on failfor now
- [Fix] Fixed junit reporting issue where the objective was fetched from a missing key.
- [Remove] Removed
node_gui.pywhich is redundant now and introduces buggy behavior.
- [Add] Added support for automating desktop web browser test cases on mobile browsers.
- [Fix] Fixed a bug where node was checking if appium started up for 10 seconds without any delay in between. This is unreliable and increases CPU load unnecessarily.
- [Improve] Improved 'For loop' to loop though selenium objects and perform web actions on them
- [Fix] Bug fix of "Command separator" in run_command action
- [Improve] For loop improved for handling selenium elements
- [Add] Added a new line manually for write into text file
- [Improve] Run command upgraded
- [Add] change nth line of text document action added
- [Fix] Fixed the "Click and download" action issue
- [Add] YAML read and write action created
- [Add] sid and service name options were added for oracle user
- [Add] json report is added to zip file of report page for Performance action
- [Add] New improved for loop action is added with complex nested logics handling capabilities
- Implemented new well optimized ZeuZ Architecture which downloads all testcases at once before starting and upload report after all test cases are executed
NOTE: This is the old changelog format.
Release date: July 16, 2020
- [NEW] Webdriver auto updater script (double click to run the script and it'll automatically download all the available drivers and place them in PATH properly)
- [NEW] Python module auto installer (will install missing modules automatically)
- [NEW] Zeuz CLI (Inside "Zeuz Node > Apps > zeuz-cli" folder) for CLI based deployment (useful in CI/CD)
- [NEW] Limit log upload to 2k (except for Warning and Errors). If more than 2k logs, write to local log file. (paired with server-side changes, we got reports of Test Automation run speed up from 8-9 hours to ~1 hours)
- [NEW] Allow re-installation of android apk
- [NEW] [ACTION] Read from excel (read from single cell, multiple cell, rows, columns)
- [NEW] [ACTION] Screenshot for Mobile (Appium)
- [NEW] [ACTION] Screenshot for Web (with full page screenshot)
- [NEW] [ACTION] "Mouse click"
- [UPD] [ACTION] Improve file download action and allow headers
- [UPD] [ACTION] Desktop Automation log improvements
- [FIX] [ACTION] "If element exists" action fix and improvements
- [FIX] [ACTION] Remove irrelevant warnings for old style loop/conditional action
- [FIX] "Upload log on fail" option not working in Node
- [FIX] Path related fixes
- [REMOVED] Detect foreground app in android