Ios 当尝试使用Appium脚本在iPhone中的混合应用程序(codorva+;ionic)中导航到iframe时,获取异常阻止了带有原点的帧

Ios 当尝试使用Appium脚本在iPhone中的混合应用程序(codorva+;ionic)中导航到iframe时,获取异常阻止了带有原点的帧,ios,cordova,ionic-framework,appium,Ios,Cordova,Ionic Framework,Appium,我们正在自动测试的应用程序是由codorva+ionic构建的,该应用程序使用iframe嵌入了一个外部网页 我们从客户端得到的例外情况是: org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:代码为“未定义”的远程调试器错误:SecurityError:阻止了具有源代码的帧ionic://www.mydomain.com“从访问交叉原点帧。协议、域和端口必须匹配。(警告:服务器未提供任何stacktrace信息) 命令持续时

我们正在自动测试的应用程序是由codorva+ionic构建的,该应用程序使用iframe嵌入了一个外部网页

我们从客户端得到的例外情况是:

org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:代码为“未定义”的远程调试器错误:SecurityError:阻止了具有源代码的帧ionic://www.mydomain.com“从访问交叉原点帧。协议、域和端口必须匹配。(警告:服务器未提供任何stacktrace信息) 命令持续时间或超时:1.16秒 生成信息:版本:“未知”,版本:“未知”,时间:“未知” 系统信息:主机:'MacBook Pro.local',ip:'127.0.0.1',os.name:'Mac os X',os.arch:'x86_64',os.version:'10.15.7',java.version:'1.8.0_271' 驱动程序信息:io.appium.java_client.ios.IOSDriver 能力[{SimpleVisibleCheck=true,noReset=false,locationServicesEnabled=true,deviceName=iPhone 12,platform=MAC,showIOSLog=true,locationServicesAuthorized=true,showXcodeLog=false,newCommandTimeout=600,platformVersion=14.1,webStorageEnabled=false,automationName=XCUITest,fullContextList=true,browserName=,takesScreenshot=true,javascriptEnabled=true=true,platformName=iOS,udid=E11870A7-03D8-473B-A6BE-B5D169ED3411,app=/debug.app,networkConnectionEnabled=false,bundleId=com.test,databaseEnabled=false,launchTimeout=300000,sendKeyStrategy=setValue,locationContextEnabled=false}] 会话ID:24b3e7cd-cf13-46cd-9e51-b56155a97007 ***元素信息:{Using=css选择器,value=#spinnerCircles} 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:423) 位于org.openqa.selenium.remote.ErrorHandler.CreateTrowable(ErrorHandler.java:206) 位于org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) 在io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:40) 在io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) 位于io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1) 位于org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:363) 位于io.appium.java_client.DefaultGenericMobileDriver.findelelement(DefaultGenericMobileDriver.java:56) 位于io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1) 位于io.appium.java_client.ios.IOSDriver.findElement(IOSDriver.java:1) 位于org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector(RemoteWebDriver.java:492) 在io.appium.java_client.DefaultGenericMobileDriver.findElementByCssSelector(DefaultGenericMobileDriver.java:123)上 位于io.appium.java_client.AppiumDriver.findElementByCssSelector(AppiumDriver.java:1) 位于io.appium.java_client.ios.IOSDriver.findElementByCssSelector(IOSDriver.java:1) 位于org.openqa.selenium.By$ByCssSelector.findelelement(By.java:430) 位于org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:355) 位于io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:52) 位于io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1) 位于io.appium.java_client.ios.IOSDriver.findElement(IOSDriver.java:1) 位于com.test.impl.UIElement.getWebElement(UIElement.java:267) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) 位于org.testng.internal.Invoker.invokeMethod(Invoker.java:583) 位于org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719) 位于org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989) 位于org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) 位于org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) 位于org.testng.TestRunner.privateRun(TestRunner.java:648) 位于org.testng.TestRunner.run(TestRunner.java:505) 位于org.testng.SuiteRunner.runTest(SuiteRunner.java:455) 在org.testng.SuiteRunner.runsequential上(SuiteRunner.java:450) 位于org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) 运行(SuiteRunner.java:364) 位于org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 位于org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) 在org.testng.testng.runSuitesSequentially上(testng.java:1208) 位于org.testng.testng.runSuitesLocally(testng.java:1137) 位于org.testng.testng.runSuites(testng.java:1049) 位于org.testng.testng.run(testng.java:1017) 位于org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) 位于org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) 位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

通过查看appium日志,看起来真正的错误来自XCUITest驱动程序, 执行atom时收到[debug][35m[XCuTest][39m错误:远程调试器错误,代码为“未定义”:SecurityError:阻止了具有源代码的帧”ionic://www.mydomain.com无法访问跨源帧。协议、域和端口必须匹配


是否有人知道如何解决此问题,或者是否有解决此问题的方法?

您是否能够实施此方法?