Skip to content

Add the ability to manage local stand-alone Appium server instances

Choose a tag to compare

@sbabcoc sbabcoc released this 08 Jul 02:51
· 182 commits to master since this release

In this release, I refined the management of Appium node servers to enable management of local stand-alone instances. I revised the storage of custom Selenium Foundation options to conform with W3C specifications. I also fixed a defect in the strategy used to extract driver capabilities records from node capabilities.

  • GridUtility:
    • Revise the getNodeCapabilities method to return the single object supplied by the node instead of a one-item array.
    • Add new getNodeDriverCaps method to extract the driver capabilities records contained in the node capabilities object.
    • Revise the getPersonality method to accept a Capabilities object and to check "nord:options" for the "personality" value.
    • Add new getNordOptions method to extract the "nord:options" capability from Capabilities objects.
  • SeleniumGrid:
    • Revise the addNodePersonalities method to take advantage of new and revised GridUtility methods.
    • Revise the shutdown method to try the AppiumGridServer.shutdownAppiumWithPM2 method for local node servers.
  • TargetType:
    • Revise the matches method to get "personality" and "pluginClass" from the "nord:options" capability.
  • AbstractAppiumPlugin:
    • Revise the create method to add the "appiumWithPM2" option to the node capabilities if PM2 was used to launch Appium.
    • Extract the core implementation of the shutdown method into a new static shutdownAppiumWithPM2 method.
    • Add new static shutdownAppiumWithPM2 method to enable GridServer objects created for active local node servers to shut down stand-alone Appium nodes.
    • Add new static isAppiumWithPM2 method to determine if the specified URL serves an Appium node running with PM2.
  • Driver Plugins: Move custom Selenium Foundation options into a new "nord:options" capability.