尝试在Selenium webdriver中切换帧时出现java.lang.AssertionError

时间:2015-01-06 11:42:55

标签: java selenium selenium-webdriver

我正在尝试使用以下代码从一个帧切换到另一个帧:

  

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()方法。

你能告诉我这里出了什么问题吗?非常感谢。

0 个答案:

没有答案