通过Appium更改iframe焦点不工作
我正在使用nightwatchjs框架和browserstack在“真正的”移动设备上运行它们 我的最终目标是通过单击cookie iframe中的“全部接受”按钮来删除cookie策略 我遇到的问题是,我可以在Android设备上将焦点更改为iframe,但同样的代码在iOS设备上不起作用 经过一些研究,我发现我需要“定义”测试(和iFrame)所基于的域。这在Appium文档中定义 因此,所讨论的iframe的html是 我将cookie删除脚本改为:通过Appium更改iframe焦点不工作,iframe,appium,nightwatch.js,Iframe,Appium,Nightwatch.js,我正在使用nightwatchjs框架和browserstack在“真正的”移动设备上运行它们 我的最终目标是通过单击cookie iframe中的“全部接受”按钮来删除cookie策略 我遇到的问题是,我可以在Android设备上将焦点更改为iframe,但同样的代码在iOS设备上不起作用 经过一些研究,我发现我需要“定义”测试(和iFrame)所基于的域。这在Appium文档中定义 因此,所讨论的iframe的html是 我将cookie删除脚本改为: this.pause(500
this.pause(5000);
this.domain = 'cmp.parkers.co.uk';
this.element('css selector', 'iframe[id*="sp_message_iframe"]', function (result) {
var mainFrame = result.value;
this.frame(mainFrame, function () {
this.waitForElementPresent('.message-container', 10000, false);
this.click('button[aria-label="Accept All"]');
this.pause(5000);
this.frameParent();
});
});
return this;
};
当我在Browserstack中的Android设备上运行此操作时,cookie策略窗口将成功关闭(成功按下全部接受按钮)
但是,当我在Browserstack中为iOS设备运行相同的脚本时,我得到以下错误消息:
Appium错误:处理时发生未知的服务器端错误
命令。原始错误:阻止了具有原点的帧
"https://www.parkers.co.uk“从访问交叉原点帧。
协议、域和端口必须匹配
我尝试将域名更改为和parkers.co.uk,但仍然失败
我还尝试将iframe ID更改为//iframe[src=“cmp.parkers.co.uk”]*但再次失败
我是否在这里做了一些明显错误的事情(域代码在错误的位置、错误的域、错误的iframe等等),因为我似乎无法理解为什么它会在iOS设备中失败
任何帮助都将不胜感激