可能是selenium语句已经执行了,但页面还没有完全打开造成的,这样试试看,不行再想其他办法 或者你有没有搞错frame的id
我看你selenium.selectFrame("relative=up");这句是执行正确的
会不会搞错frame了,buttitle确实不在relative=up里,你再仔细看看 或者你不要selectframe了,直接selectwindow,选择你新打开的这个页面,然后直接执行type
selectwindow怎么用的话,你可以看你那个selenium类的源程序里,应该有的
[ 本帖最后由 afeng 于 2009-12-16 19:22 编辑 ] selectwindow后面要跟一个 窗口名是不是就是 title图里面的“新建bug”?我用了还是不行。
[ 本帖最后由 linyucc 于 2009-12-17 11:24 编辑 ] 下面是我用selenium IDE 录的脚本
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://purple-dev/" />
<title>New Test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">New Test</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>/bugfree/Login.php</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>TestUserName</td>
<td>wangxiangyong</td>
</tr>
<tr>
<td>type</td>
<td>TestUserPWD</td>
<td>123456</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>SubmitLoginBTN</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>NavFrame</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>OpenBug</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=up</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>BugTitle</td>
<td>test1</td>
</tr>
</tbody></table>
</body>
</html>
JAVA的
package com.example.tests;
import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;
public class Untitled extends SeleneseTestCase {
public void setUp() throws Exception {
setUp("http://purple-dev/", "*chrome");
}
public void testUntitled() throws Exception {
selenium.open("/bugfree/Login.php");
selenium.type("TestUserName", "wangxiangyong");
selenium.type("TestUserPWD", "123456");
selenium.click("SubmitLoginBTN");
selenium.waitForPageToLoad("30000");
selenium.selectFrame("NavFrame");
selenium.click("OpenBug");
selenium.selectFrame("relative=up");
selenium.type("BugTitle", "test1");
}
} 终于解决了啊。
selenium.selectFrame("NavFrame");
selenium.click("OpenBug");
Thread.sleep(3000); /*加了这条
selenium.selectFrame("relative=up");/加了这个
selenium.selectWindow("新建 Bug");/*光加这句 还不行
selenium.type("BugTitle","test1");
是Thread.sleep(3000); 还是selenium.selectFrame("relative=up");起了作用? 刚才屏蔽了Thread.sleep(3000);可以运行成功了.屏蔽selenium.selectFrame("relative=up");就失败了 。
谁能解释 刚开始我的错误在哪里。为什么要先selectFrame再selectwindow两个都需要?
[ 本帖最后由 linyucc 于 2009-12-17 11:57 编辑 ] 我觉得你不用selectframe直接selectwidnow就可以了 不行的 一去掉 就不行。昨天弄了一天都不行的,我还以为是窗口ID 弄错了。刚才我也试过了必须2个一起用。返回原来的主窗口 只用selectwindow就可以,很奇怪。 呵呵,不太清楚,那可能你这个window是包含在frame里的,不过也挺奇怪的,不管怎么样,好了就行 我现在刚开始学习使用selenium RC ,遇到同样的问题了,感谢楼主及各位参与讨论的大侠,折腾了一天的问题终于解决了:victory:
页:
1
[2]