我正尝试通过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执行此操作时,工作正常。
感谢。
答案 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");
}
}
}