gaoqiu 发表于 2010-2-23 22:07:33

Selenium入门问题

public void setUp() throws Exception {
         selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://www.baidu.com/");
         selenium.start();
    }
    public void testUntitled() throws Exception {
                selenium.open("/");
                selenium.type("kw", "selenium");
                selenium.click("su");
                selenium.waitForPageToLoad("30000");
                verifyTrue(selenium.isTextPresent("selenium_百度百科"));
                selenium.click("xpath=//table[@id='1']/tbody/tr/td/a");
    }

    public void tearDown() throws Exception {   
      selenium.stop();   
      super.tearDown();   
    }
代码就这么多,但是在运行到verifyTrue(selenium.isTextPresent("selenium_百度百科"));
的时候就运行不下去了,就算删掉这行,下一样也不运行,也不报错,有人可以帮忙指导下么?

谢谢回复,我这个就是一个做一个简单的测试例子,在firefox里面录制
(1)进入bairu
(2) 搜索selenium
(3) 点击搜索
(4) 点击第一个搜到的链接,会自己开个页面
想说一下在firefox里面回放以上4步,第4步回放不来,如果可以你也试试
然后变成java 放到eclipse里面执行,也是第4步回放不来

[ 本帖最后由 gaoqiu 于 2010-2-24 14:18 编辑 ]

gaoqiu 发表于 2010-2-23 22:11:43

在IDE上运行也是,最后一步都不运行的
<?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="" />
<title>1</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">1</td></tr>
</thead><tbody>
<tr>
        <td>open</td>
        <td>/</td>
        <td></td>
</tr>
<tr>
        <td>type</td>
        <td>kw</td>
        <td>selenium</td>
</tr>
<tr>
        <td>clickAndWait</td>
        <td>su</td>
        <td></td>
</tr>
<tr>
        <td>click</td>
        <td>//table[@id='1']/tbody/tr/td/a</td>
        <td></td>
</tr>
</tbody></table>
</body>
</html>

park_p 发表于 2010-2-24 09:10:13

你描述的运行不下去是什么意思啊?
能不能把运行时的情况贴图,或者把运行时控制台的打印信息copy到这里看下,你这样说不运行搞不清楚是selenium本身的问题,还是代码的问题造成,或者是别的什么原因,所以要提供更多的诊断信息啊~

park_p 发表于 2010-2-24 09:16:31

才看到,你用的是iexplore浏览器,iexplore浏览器对xpath的支持很不好
建议你用firefox来测试看看"*firefox",是不是有同样问题出现
如果一定用iexplore浏览器,尽量少用xpath来识别元素,或者只写简单的xpath,不要写复杂的。不然就像你说的不运行要不就是死慢,你说的不运行可能就是因为太慢了,让你觉得不运行了,哈哈哈哈~~~~
iexplore浏览器建议用dom的方式提供元素的识别,所以javascript要熟点了,呵呵~~
最好还是用它自带的“id=xxxxx”或"name=xxxxx"或"link=xxxxxx"的方式,这样识别是比较快兼容性也比较好的我猜,呵呵
你代码里的//table[@id='1']/tbody/tr/td/a应该是个link,就用"link=链接的文本"来替换试试看啊
补充一点:ie浏览器在执行selenium.waitForPageToLoad("30000");这样的语句时有时也会有问题,如果不是全页面刷新的话,这个问题有遇到过,也请教过人,也不知道是什么原因造成的。

[ 本帖最后由 park_p 于 2010-2-24 09:19 编辑 ]

gaoqiu 发表于 2010-2-24 14:17:32

谢谢楼上回复,我这个就是一个做一个简单的测试例子,在firefox里面录制
(1)进入bairu
(2) 搜索selenium
(3) 点击搜索
(4) 点击第一个搜到的链接,会自己开个页面
想说一下在firefox里面回放以上4步,第4步回放不来,如果可以你也试试
然后变成java 放到eclipse里面执行,也是第4步回放不来

park_p 发表于 2010-2-24 15:22:51

被你说的我在本地跑了一遍代码,根本执行就是对的,第四步是执行了的。
你觉得执行不来是因为selenium做了点击搜索出的第一个链接动作就退出了,整个执行就结束了。你看不到执行结果而已,执行是正确的,我这里点击并打开了搜索到的第一个页面了。
你在selenium.click("xpath=//table[@id='1']/tbody/tr/td/a");这句后面加上Thread.sleep(10000);停个十秒钟,就看到selenium打开了搜索到的第一个页面,也就是正确执行了点击第一个链接的动作,你再试试吧~

小米啊 发表于 2010-2-25 10:01:59

我试了下,是可以跑的package com.test;

import com.thoughtworks.selenium.SeleneseTestCase;

public class Baiduextends SeleneseTestCase{
        public void setUp() throws Exception{
                setUp("http://www.baidu.com","*firefox D:\\Program Files\\Mozilla Firefox\\firefox.exe");
                //System.out.println("data:"+data);
        }
       
        public void testUntitled() throws Exception {
      selenium.open("/");
      selenium.type("kw", "selenium");
      selenium.click("su");
      selenium.waitForPageToLoad("30000");
      
      verifyTrue(selenium.isTextPresent("selenium_百度百科"));
      selenium.click("xpath=//table[@id='1']/tbody/tr/td/a");
        }

        public void tearDown() throws Exception {   
                selenium.stop();   
                super.tearDown();   
        }
}

sudalice 发表于 2010-3-18 16:48:36

试了下,是OK的,一定要等新的页面完全出来再stop record

mengxhzznode 发表于 2010-4-15 13:35:10

用你的HTML代码在火狐上试过了,可以运行,最后一步有警告而已。没大碍。:victory:

mengxhzznode 发表于 2010-4-28 17:12:07

:victory:

mengxhzznode 发表于 2010-4-28 17:16:58

:victory:

mengxhzznode 发表于 2010-4-28 17:19:14

:victory:

guo24biao 发表于 2010-5-1 11:40:46

学习

:) :) :) :) :)
页: [1]
查看完整版本: Selenium入门问题