Comment effectuer des glisser-déposer à l'aide de sélénium webdriver lors de la cible et de l'élément de destination sont dans des cadres différents?

J'ai à faire glisser une image et la placer dans un CQ5 composant. L'image et les composants sont dans des cadres différents.

Voici le code qui ne fonctionne pas comme webelement destinationn'a pas pu être trouvé lors de la cible du cadre actif.

new Actions(driver).dragAndDrop(target, destination).perform();

J'ai aussi essayé de changer de frame entre action comme:

    Actions builder = new Actions(driver);
    Actions action = builder.clickAndHold(target);
    driver.switchTo().frame("newFrame"); //switching frames
    builder.moveToElement(destination);
    builder.release(destination);
    builder.build();
    action.perform();

C'est ne fonctionne pas non plus. Ensuite, j'ai essayé de déplacer l'image par décalage

new Actions(driver).dragAndDropBy(target,  x, y).perform(); //x and y 

Ce déplacé de l'image, mais le composant ne prend pas en compte, probablement parce que l'action était trop rapide. Est-il possible que de telles faites glisser-déposer peut être fait?

Merci d'avance.

Ne va pas à l'ajouter comme une réponse comme ça ne résout pas que vous êtes le problème, mais j'ai eu le même problème en essayant d'obtenir le Sélénium travailler au sein de CQ. J'ai trouvé que, plutôt que d'essayer d'utiliser le drag & drop, il y a des moments dans la CQ que vous pouvez au lieu de double-clic. Par exemple lors de l'ajout d'un composant, en double-cliquant sur le parsys vous amènera à la liste des composants que vous pouvez ajouter (dans la même image). Le choix d'un composant ici vous amènera directement à la boîte de dialogue d'édition pour cette nouvelle composante. Pouvez faire de même pour le Contenu Finder peut-être?

OriginalL'auteur 9ikhan | 2012-08-10