51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2361|回复: 2
打印 上一主题 下一主题

谁帮我看看这个问题啊?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-12-5 13:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
public void testElegroupElec() throws Exception {
                selenium.open("/epmis/jsp/elegroupquery/elegroup_elec_index.jsp?functioncode=ZYHDLSJCK");
                selenium.selectFrame("ffffff");
                selenium.click("sd3");
                selenium.click("sd4");
                selenium.click("sd1");
                selenium.click("sd2");
                selenium.selectFrame("relative=up");
                selenium.selectFrame("rightframe");
                selenium.selectFrame("condFrame");
                selenium.waitForPageToLoad("50000");


                selenium.click("//input[@value='查询']");
        }


selenium生成的测试脚本,怎么执行到selenium.selectFrame("condFrame");就报错
com.thoughtworks.selenium.SeleniumException: ERROR: Element condFrame not found
        at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
        at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
        at com.thoughtworks.selenium.DefaultSelenium.selectFrame(DefaultSelenium.java:355)
        at com.example.tests.groupusers.ElegroupElec.testElegroupElec(ElegroupElec.java:27)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:212)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

各位大侠帮忙看看,我刚接触,感觉selenium不稳定啊!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-12-5 15:58:09 | 只看该作者
我的界面是frameset里的一个frame指向一个页面,页面里含有tab,tab里指向了一个iframe,ifarme的name是condFrame,明明是有的,但是怎么就找不到呢?是不是含有其它写法啊?我是生成测试脚本,在eclipse中用junit来执行的,没有人会吗?大家都怎么利用selenium?没有人生成测试脚本吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-12-7 12:03:34 | 只看该作者
selenium对iframe的支持有点问题好像,尤其是在iframe和frame都有的情况下,你的iframe还是套在frame内的。呵呵~~
从你的代码结构看,好像有两个frame,一个左一个右,这个iframe是套在右边frame下的,你要操作内部的元素定位是有点麻烦。
如果你iframe内要操作的元素有id属性,且这个id属性无重复,可以直接用id操作元素,不用定位到这个iframe内,如果没有id属性,必须要定位到iframe内的话,可以借助javascript来定位,我以前这样试过是可行的,你也可以试试看能不能解决你的问题啊。
具体记不清了,可以类似于:selenium.selectFrame("dom=window.document.getElementsByName('condFrame')[0]")这样的方法来定位,如果不行,内部的js可以改,直到可用,你可以试试看。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-6 11:17 , Processed in 0.068638 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表