Selenium测试没有在Eclipse上执行

时间:2011-10-03 14:50:51

标签: java eclipse selenium

我正尝试通过selenium登录我们公司的产品网站。我可以通过Selenium IDE进行操作。这是IDE使用JUnit4(远程控制)导出的代码:

package com.beginning;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.regex.Pattern;

public class testcase extends SeleneseTestCase {
    @Before
    public void setUp() throws Exception {
        selenium = new DefaultSelenium("localhost", 4444, "*chrome", "link");
        selenium.start();
    }

    @Test
    public void testTestcase() throws Exception {
        selenium.open("complete link");
        selenium.type("name=j_username", "username");
        selenium.type("name=j_password", "password");
        selenium.click("css=input[type=\"submit\"]");
        selenium.waitForPageToLoad("30000");
        //selenium.click("link=Sign out");
        //selenium.waitForPageToLoad("30000");
    }

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

我的怀疑是:

1.为什么当我在firefox中实际执行时,selenium IDE会将浏览器类型导出为* chrome。 2.如果我按原样使用测试,则输入值然后给出异常。 3.如果我将浏览器类型更改为* firefox,它会开始执行但根本没有任何反应。基本挂起。

从IDE执行此操作时,工作正常。

感谢。

2 个答案:

答案 0 :(得分:0)

更改"link"DefaultSelenium构造函数的第4个参数),使其实际上是有效的网址(您要定位的网站)

答案 1 :(得分:0)

会建议您检查firefox的版本并升级到latest.I使用了类似的方案。请找到下面的代码。 你可以使用它的作品grt.Hope你发现它很有用。

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;


public class TestRun {
public static void main(String[] args)
{
Selenium selenium=new DefaultSelenium("localhost", 4444 , "*firefox","myurl");
selenium.start();
selenium.open("myurl");
System.out.println("Open browser "+selenium);
selenium.windowMaximize();
selenium.type("id=j_username","Lal");
selenium.type("name=j_password","lal");
selenium.click("name=submit");
**selenium.waitForPageToLoad("60000");**
if(selenium.isTextPresent("Lal"))
{
    selenium.click("id=common_header_logout");
}
else
{
    System.out.println("User not found");
}
}
}