Nexial Automation

Test Automation Platform for everyone!

X

nexial-core 4.2 (2021-09-13)

Release 4.2

2021-09-13

General

Fixes

  • fixed .commons.sh for Linux environment where JAVA_HOME is not set
  • better handling of logic to determine Java version and subsequently construct the appropriate JAVA_OPT

Improvements

  • allow priority overrides (specified via -override) to take effect prior to loading project artifacts. As such, these overrides can be specified via the -override command line argument. Previous requirement of using JAVA_OPT=-D... is still supported so no script/batch file changes are required

Batch Files

external commands

  • fixed runtime error when running external program without environment variable

javaui commands

mobile commands

  • assertAlertPresent(text): NEW command to alert that an alert dialog is present. iOS only
  • clearAlert(option): NEW command to clear/dismiss existing alert dialog. iOS only
  • saveAlertText(var): NEW command to save the text content of an existing alert dialog. iOS only
  • clearNotification(): NEW command to clear off all push notifications. Android only
  • assertAttribute(locator,attribute,text): NEW Command to assert attribute value for the first element that matched specified locator. PolyMatcher enabled
  • saveAttributes(var,locator,attribute): NEW command to collect the attribute values from a list of elements matching locator
  • assertElementEnabled(locator): NEW command to assert the presence and readiness (for interaction) of an element
  • assertElementDisabled(locator): NEW command to assert that an element is disabled for interaction
  • assertElementNotVisible(locator): NEW command to assert that an element is either not present or not visible
  • assertElementNotPresent(locator): NEW command to assert the absence of element(s)
  • clickByDisplayText(text): fixed for iOS device
  • click(locator): updated to improve stability
  • longClick(locator,waitMs): updated to improve stability
  • scrollUntilFound(scrollTarget,direction,searchFor,maxWaitMs): NEW command to scroll until a specific element is present
    • fix scrolling issue that cause UI to hang at times
  • select(locator,item):
    • performance and accuracy improvements
    • supports PolyMatcher on item
    • supports iOS automation
    • supports multi-dropdown components, such as Date Picker. Use pipe to separate values. For example, Aug|26|2021
    • implemented retry logic to improve stability
    • skip automation if the target item is already selected (optimization)
    • selects a dropdown item based on index via prefix index:
  • copyToLocal(file,folder): NEW command to copy file from host to connected device
  • type(locator,text):
    • code fix to clear off existing text before typing
    • clear text via BACKSPACE if the target element contains only spaces, to improve iOS compatibility
    • skip automation if target element already contains text (optimization)
  • recentApps(): fixed for iOS device
  • launchApp(app): NEW command to launch or focus on an installed app based on appId or bundleId
  • use(profile): automatically relaunched the app that was previously closed via the [closeApp] command
  • closeApp: for Android platform, this command also reset the app since underlying driver is not really shutting down the app
  • locator text=:
    • text locator now supports PolyMatcher (except for REGEX: and NUMERIC:)
    • allows for text to contain leading and trailing spaces
    • code fix to handle text=... locator for iOS automation (automatically convert to using label attribute)
  • locator nearby=:
    • nearby locator now supports above and below as well
    • support PolyMatcher on attribute values as well as text
    • support item priority via {item:#} where user can specify exactly the occurrence (of multiple matches) to use
    • support “container” (or parent) reference via container: and scroll-container:
    • implemented iOS support
    • optimizing locator generation
  • one-of locator: NEW locator as a wrapper for device-specific locators.
  • [android setup]:
    • fixed path references in bin/mobile/android-setup.sh
    • fixed shell script permission issues
    • bin/mobile/update-android-sdk: utility script to update Android SDK.
  • fixed executable reference in shell script:
    • restart-adb.sh
    • run-android-emulator.sh
    • show-android-devices.sh
  • bin/mobile/nexial-apk-manifest: utility script to manifest appId, appPackage and appActivity of an Android app (apk)
  • [bin/mobile/run-appium-server]:
    • helper script to start appium server locally
    • updated to display appium server log in local time
  • bin/mobile/copy-to-android.cmd|sh: NEW utility script to copy file from host to connected Android device
  • bin/mobile/copy-to-ios.sh: NEW utility script to copy file from host to connected iOS device

web commands

  • update to latest geckodriver (firefox)
  • click(locator): ensure target element is visible before performing click

webmail commands

  • reduce dependency on web command and webdriver

ws commands