Skip to content

Conversation

@b-vamsipunnam
Copy link

@b-vamsipunnam b-vamsipunnam commented Dec 14, 2025

This PR adds a new keyword Drag And Drop To Frame that reliably handles dragging an element from default content to a target inside an iframe.

Background of the issue:

  • My team faced this challenge (December 2025) in my current project (a Major pharmaceutical company) with the Salesforce Service Cloud application while trying to automate the post-deployment manual steps in the setup page. After creating this keyword, we have successfully automated post-deployment manual steps. Saved a significant amount of time and effort for the overall release time for every release.
  • Navigation in SFDC: login --> Setup --> All sites --> builder --> Select Dashboard and drag and drop to the Target Section (Existing two drag and drop keywords are failing due to the target being inside the iframe)--> publish --> Confirm publish
  • The built-in 'Drag And Drop' keyword fails across iframe boundaries due to context switch mid-action (long-standing issue Drag and drop across iframe bounds is problematic #120).
  • Related discussion in Relative Locators, iFrames, ShadowDom, RTL .. oh my! #1813 about iframe handling enhancements.

Changes:

  • Implemented in - src/SeleniumLibrary/keywords/element.py
  • Added acceptance tests in - atest/acceptance/keywords/draganddropframe.robot
  • Test HTML page in - atest/resources/html/frames/draganddrop.html
  • updated the unit test file keyword count to 183 - utest/test/api/test_plugins.py

All acceptance tests pass locally (including new ones).

This is a non-trivial enhancement — please add the acknowledge label to #120 for release notes credit. Thank you!

@b-vamsipunnam b-vamsipunnam force-pushed the feature/drag-and-drop-to-frame branch from 91af1a0 to d283eb4 Compare December 20, 2025 21:16
@emanlove emanlove self-assigned this Dec 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants