Je dois désactiver la règle d'origine identique pour mes autotests. J'utilise webdriver.io + serveur autonome selenium + chromedriver sur Ubuntu 16.04. Je dois obtenir le titre de l'iframe dont le domaine diffère du domaine de la page. J'ai lu ce sujet et utilisé des réponses dans mon code, mais il semble ne pas fonctionner/ Disable same origin policy in Chrome.webdriver.io ne peut pas désactiver la même règle d'origine pour l'iframe
Mon code: Une partie de wdio.conf.js
capabilities: [{
maxInstances: 5,
browserName: 'chrome',
chromeOptions : {
args: ["--disable-web-security", "--user-data-dir:path/to/profile"]
}
}],
Une partie de mon code dans les spécifications pour obtenir le titre de iframe:
it('step' , function() {
var iframeValue = browser.element('#iframe_id').value;
browser.frame(iframeValue);
browser.waitForExist('title'); //or any element inside head or body
browser.getTitle(); //returns page title, not iframe
browser.element('title').getText(); //returns ''
browser.element('title').getHTML(); //returns '<title>iframe title</title>'
});
J'ai remis en marche le serveur sélénium, des tests redémarrée, browser.debug() utilisé pour vérifier si iframe est un élément actif, vérifié que le paramètre --user-data-dir paramètre fonctionne. Est-il possible que webdriver.io ne puisse pas obtenir les valeurs de iframe ou --disable-web-security ne fonctionne pas du tout?
MISE À JOUR: Structure iframe:
<iframe src="http://www.example.com" id="iframe_id"></iframe>
#document
<html>
<head>
<title>iframe title</title>
</head>
<body>
<div>
<!--content-->
</div>
</body>
</html>