我正在尝试使用以下代码从一个帧切换到另一个帧:
user.switchFrame(authorPagebjects.frameId);
其中switchFrame()是另一个类中定义的方法,如下所示:
if (keyword.equalsIgnoreCase("switchFrame")) {
if (element instanceof WebElement)
driver.switchTo().frame((WebElement) element);
assertTrue(element + "\" does not exist", false);
}
但是,在运行测试时,我收到以下错误:
va.lang.AssertionError: Proxy element for: org.openqa.selenium.support.pagefactory.DefaultElementLocator@70a36a66" does not exist
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.assertTrue(Assert.java:41)
at com.wcms.methods.ActionMethods.actionKeys(ActionMethods.java:57)
at com.wcms.methods.ActionKeyword.switchFrame(ActionKeyword.java:37)
at com.wcms.test.AuthorPage.createTemplateTest(AuthorPage.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
但是,在使用driver.switchTo().frame(authorPagebjects.frameId);
时,不会出现上述错误。但我想仅在另一个类中定义switchFrames()方法。
你能告诉我这里出了什么问题吗?非常感谢。