通过Appium更改iframe焦点不工作

通过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

我正在使用nightwatchjs框架和browserstack在“真正的”移动设备上运行它们

我的最终目标是通过单击cookie iframe中的“全部接受”按钮来删除cookie策略

我遇到的问题是,我可以在Android设备上将焦点更改为iframe,但同样的代码在iOS设备上不起作用

经过一些研究,我发现我需要“定义”测试(和iFrame)所基于的域。这在Appium文档中定义

因此,所讨论的iframe的html是

我将cookie删除脚本改为:

    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设备中失败

任何帮助都将不胜感激