Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2020.2

...

  • Update Alerts: Use Accept Script Dialog to replace Assertalert.
  • Update Confirms: Depending on whether the user action is to click OK or Cancel in the dialog, use Accept Script Dialog or Dismiss Script Dialog to replace AssertconfirmationChoosecancelonnextconfirmation has been removed and is no longer necessary.
  • Update Prompts: Depending on whether the user action is to click OK or Cancel in the dialog, use Accept Script Dialog or Dismiss Script Dialog to replace Assertprompt and Answeronnextprompt user actions.
  • Update Attached/Actions: Any Browser Validation tools attached to an action triggering the alert (e.g., Click ‘alert’) should be attached to the Accept Script Dialog or Dismiss Script Dialog action following the action that triggers the alert.

A Browser Validation tool attached to an alert-triggering action may not work correctly on Safari because Wait for Script Dialog settings cannot be applied. In this case, move the Browser Validation tool to the next action.

Known Selenium Bugs and Issues

  • Chrome 28+ and Selenium's chromedriver is not compatible with RHEL/!CentOS 6.x. CentOS 7.0 (64-bit) works—although there is a warning reported. This warning can be disabled from the command line with setsebool -P unconfined_chrome_sandbox_transition 0 
  • Selenium WebDriver randomly fails to accept the script dialogs. This occurs when a test tries to open a dialog and the "Wait for Script Dialog" is reporting error that script dialog does not exist during the specified timeout (by default 10 seconds). The issue can be solved by increasing the wait time. See https://groups.google.com/forum/#!topic/selenium-developer-activity/It-RyMNBrpw for details.
  • In Chrome, Selenium cannot interact with onBeforeUnload dialogs that open due to a Navigate, Go Back, or Go Forward action. See https://code.google.com/p/chromedriver/issues/detail?id=29 for details.
  • In Chrome and Internet Explorer, Selenium cannot interact with onBeforeUnload dialogs that open when calling "Close" on the only browser window.
  • Selenium WebDriver fails to accept an alert that is opened on a new window. See https://code.google.com/p/selenium/issues/detail?id=7807 for details.
  • Modal dialogs (those opened using the JavaScript function "showModalDialog") are not supported for Chrome or Safari. Web applications that rely on this functionality should use Internet Explorer or Firefox. 
  • For the "click" user action, key modifiers ("Shift," "Ctrl," and "Alt") are supported only in Chrome due to an issue in Selenium WebDriver. See https://code.google.com/p/selenium/issues/detail?id=4385 for details. 
  • When multiple windows are opened by one user action, the Selenium WebDriver can return a wrong order of window handlers for Chrome and Internet Explorer. This can happen only in the case of unnamed windows. The workaround is to use named windows. 
  • Cannot click on area elements in Safari or Internet Explorer. See https://code.google.com/p/selenium/issues/detail?id=2354 for details. 
  • In Internet Explorer, if an application overrides the default "fireEvent" implementation on an element with a new implementation, Selenium will trigger the new implementation when performing actions on that element. This differs from default browser behavior, where the default "fireEvent" implementation is called even when the "fireEvent" method is changed by a web application.
  • Selenium does not support playing back scenarios in headless mode. If headless mode is selected, the scenarios will still play back in visible mode.

Safari-specific Issues

  • The following commands are not supported in Safari. See https://code.google.com/p/selenium/issues/detail?id=4136 for details.
    • DoubleClick
    • Dragdrop
    • Go Back
    • Go Forward
    • Hover
    • Keydown
    • Keyup
    • Right-click
  • The following SOAtest functionality is not supported:
    • Traffic is not recorded when playing back scenarios.
    • NTLM/Digest/Basic authentication is not supported.
    • Configure and Validate for Load Test are not supported.
    • Attaching tools to HTTP traffic is not supported.
    • The "Wait for Interval without Traffic" wait condition will always succeed after the configured interval has elapsed, regardless of whether traffic is being sent by the browser or server.
    • Sites that use untrusted certificates are not supported.

Manually Upgrading to a New Version of Selenium WebDriver

You can upgrade SOAtest’s Selenium WebDriver version before it is available in a new SOAtest release. Changing to a different version of Selenium WebDriver from the version shipped with SOAtest is not officially supported or tested by Parasoft. As a result, you may encounter incompatibilities when running the newer version of Selenium WebDriver.

To upgrade, you need to:

  1. Upgrade the Selenium client, which also upgrades WebDriver support for Firefox playback. This step is required, regardless of the browser(s) you want WebDriver to use for playback. For details, see Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox).
  2. Upgrade WebDriver’s playback support for the desired browser(s)—Chrome, Internet Explorer, and/or Safari. See the following sections:

Manually Upgrading to a New Version of Selenium WebDriver

You can upgrade SOAtest’s Selenium WebDriver version before it is available in a new SOAtest release. Changing to a different version of Selenium WebDriver from the version shipped with SOAtest is not officially supported or tested by Parasoft. As a result, you may encounter incompatibilities when running the newer version of Selenium WebDriver.

To upgrade, you need to:

  1. Upgrade the Selenium client, which also upgrades WebDriver support for Firefox playback. This step is required, regardless of the browser(s) you want WebDriver to use for playback. For details, see Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox).
  2. Upgrade WebDriver’s playback support for the desired browser(s)—Chrome and/or Internet Explorer. See the following sections:
Table of Content Zone
maxLevel2
indent60px
locationtop

Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox)

The following is always the first step for updating Selenium WebDriver—no matter what browser you want it to use for playback. WebDriver support for Firefox will be upgraded as part of this process. 

  1. Go to http://search.maven.org.
  2. Search for and download the following .jar files from maven.org:
    • selenium-api-<version>.jar
    • selenium-chrome-driver-<version>.jar
    • selenium-firefox-driver-<version>.jar
    • selenium-ie-driver-<version>.jar
    • selenium-edge-driver-<version>.jar
    • selenium-java-<version>.jar
    • selenium-remote-driver-<version>.jar
    • selenium-support-<version>.jar
  3. Remove the <version> suffix from each of the downloaded jar files.
  4. In the SOAtest installation directory, run the update.bat script (for Windows) or update script (for Linux and Mac) with the –patch argument  and the path to each of the .jar files you downloaded. Running this script will replace the version in the installation with the file referenced by the patch argument. It will also back up the replaced file in the installation by appending a .bak extension to the file.
    • For Windows: Run update.bat –patch /path/to/[name_of_file].jar
    • For Linux or Mac: Run ./update –patch /path/to/[name_of_file].jar. On some versions of Mac, you might need to manually copy the Selenium drivers.

After you have completed the above steps, you can confirm that Selenium WebDriver for Firefox was upgraded by going to the Firefox Add-Ons page and checking the version number.

Upgrading WebDriver Support for Chrome (ChromeDriver)

To upgrade WebDriver’s support for Chrome, update ChromeDriver as follows:

  1. If you have not already done so, upgrade the Selenium client libraries as described in Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox).
  2. Go to the ChromeDriver downloads page at http://chromedriver.storage.googleapis.com/index.html.
  3. Download the latest release (you can click  the LATEST_RELEASE link to find out what version is the latest).
  4. Download the ChromeDriver .zip file for your architecture:
    • For Windows 64-bit and 32-bit: chromedriver_win32.zip
    • For Mac 64-bit and 32-bit: chromedriver_mac32.zip
    • For Linux 64-bit: chromedriver_linux64.zip
    • For Linux 32-bit: chromedriver_linux32.zip
  5. Extract the chromedriver.exe file from this .zip.
  6. In the SOAtest installation directory, run the update.bat script (for Windows) or update script (for Linux and Mac) with the –patch argument and the path to the chromedriver.exe file. Running this script will replace the version in the installation with the file referenced by the patch argument. It will also back up the replaced file in the installation by appending a .bak extension to the file.
    • For Windows: Run update.bat –patch /path/to/chromedriver.exe
    • For Linux or Mac: Run ./update –patch /path/to/chromedriver

Upgrading WebDriver Support for Internet Explorer (InternetExplorerDriver)

The Selenium WebDriver engine uses the 32-bit version of Internet Explorer. Any custom Internet Explorer Executable Path settings (e.g., from Preferences> Browser> IE Executable Path) will not be applied.

  1. If you have not already done so, upgrade the Selenium client libraries as described in Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox).
  2. Go to the Selenium Download page (http://www.seleniumhq.org/download/), then under the Internet Explorer Driver Server section, download the 32 bit Windows IE version—even if you’re running 64-bit Windows.
  3. Extract the IEDriverServer.exe file from the.zip.
  4. In the SOAtest installation directory, run the update.bat script with the –patch argument and the path to the IEDriverServer.exe file you downloaded (e.g., update.bat –patch /path/to/IEDriverServer.exe). Running this script will replace the version in the installation with the file pointed to by the patch argument. It will also back up the replaced file in the installation by appending a .bak extension to the file.

SOAtest will now use the newer version of InternetExplorerDriver for playback

Table of Content Zone
maxLevel2
indent60px
locationtop

Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox)

The following is always the first step for updating Selenium WebDriver—no matter what browser you want it to use for playback. WebDriver support for Firefox will be upgraded as part of this process. 

  1. Go to http://search.maven.org.
  2. Search for and download the following .jar files from maven.org:
    • selenium-api-<version>.jar
    • selenium-chrome-driver-<version>.jar
    • selenium-firefox-driver-<version>.jar
    • selenium-ie-driver-<version>.jar
    • selenium-edge-driver-<version>.jar
    • selenium-java-<version>.jar
    • selenium-remote-driver-<version>.jar
    • selenium-safari-driver-<version>.jar
    • selenium-support-<version>.jar
  3. Remove the <version> suffix from each of the downloaded jar files.
  4. In the SOAtest installation directory, run the update.bat script (for Windows) or update script (for Linux and Mac) with the –patch argument  and the path to each of the .jar files you downloaded. Running this script will replace the version in the installation with the file referenced by the patch argument. It will also back up the replaced file in the installation by appending a .bak extension to the file.
    • For Windows: Run update.bat –patch /path/to/[name_of_file].jar
    • For Linux or Mac: Run ./update –patch /path/to/[name_of_file].jar. On some versions of Mac, you might need to manually copy the Selenium drivers.

After you have completed the above steps, you can confirm that Selenium WebDriver for Firefox was upgraded by going to the Firefox Add-Ons page and checking the version number.

Upgrading WebDriver Support for Chrome (ChromeDriver)

To upgrade WebDriver’s support for Chrome, update ChromeDriver as follows:

  1. If you have not already done so, upgrade the Selenium client libraries as described in Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox).
  2. Go to the ChromeDriver downloads page at http://chromedriver.storage.googleapis.com/index.html.
  3. Download the latest release (you can click  the LATEST_RELEASE link to find out what version is the latest).
  4. Download the ChromeDriver .zip file for your architecture:
    • For Windows 64-bit and 32-bit: chromedriver_win32.zip
    • For Mac 64-bit and 32-bit: chromedriver_mac32.zip
    • For Linux 64-bit: chromedriver_linux64.zip
    • For Linux 32-bit: chromedriver_linux32.zip
  5. Extract the chromedriver.exe file from this .zip.
  6. In the SOAtest installation directory, run the update.bat script (for Windows) or update script (for Linux and Mac) with the –patch argument and the path to the chromedriver.exe file. Running this script will replace the version in the installation with the file referenced by the patch argument. It will also back up the replaced file in the installation by appending a .bak extension to the file.
    • For Windows: Run update.bat –patch /path/to/chromedriver.exe
    • For Linux or Mac: Run ./update –patch /path/to/chromedriver

Upgrading WebDriver Support for Internet Explorer (InternetExplorerDriver)

The Selenium WebDriver engine uses the 32-bit version of Internet Explorer. Any custom Internet Explorer Executable Path settings (e.g., from Preferences> Browser> IE Executable Path) will not be applied.

  1. If you have not already done so, upgrade the Selenium client libraries as described in Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox).
  2. Go to the Selenium Download page (http://www.seleniumhq.org/download/), then under the Internet Explorer Driver Server section, download the 32 bit Windows IE version—even if you’re running 64-bit Windows.
  3. Extract the IEDriverServer.exe file from the.zip.
  4. In the SOAtest installation directory, run the update.bat script with the –patch argument and the path to the IEDriverServer.exe file you downloaded (e.g., update.bat –patch /path/to/IEDriverServer.exe). Running this script will replace the version in the installation with the file pointed to by the patch argument. It will also back up the replaced file in the installation by appending a .bak extension to the file.

SOAtest will now use the newer version of InternetExplorerDriver for playback.

Upgrading WebDriver Support for Safari (SafariDriver)

Selenium's SafariDriver is deprecated in Safari 10 and later. Update to the latest version of Safari and use Apple's SafariDriver. If you cannot upgrade Safari, you can download and install the latest Safari WebDriver Extension as follows:

  • Open the Safari browser and go to the Selenium Download page (http://www.seleniumhq.org/download/
  • Under the SafariDriver section, download the latest release of SafariDriver.safariextz.
    Image Removed
    Click on the downloaded file to install the Safari WebDriver extension

    .

    Upgrading WebDriver Support for Microsoft Edge (EdgeDriver)

    1. If you have not already done so, upgrade the Selenium client libraries as described in Upgrading Selenium Client Libraries (Includes Updating WebDriver Support for Firefox).
    2. Go to the Microsoft WebDriver download page (https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/) and download the driver for your version of Edge (see Browser Support for version support details).
    3. Save the driver to the following directory:

      <SOATEST_INSTALL>\eclipse\plugins\com.parasoft.xtest.libs.web_<version>\root\browsers\webdriver\edge\x86\

    ...