2012-12-15 4 views
1

아래 코드를 실행하려고하는데 헛수고입니다.셀레늄 - jUnit4

코드가 컴파일되지 않고 "셀렌을 해결할 수 없습니다"으로 오류가 표시됩니다.

package com.example.tests; 

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

public class prashantk { 
    @Before 
    public void setUp() throws Exception { 
     selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://book.theautomatedtester.co.uk/"); 
     selenium.start(); 
    } 

    @Test 
    public void testAuto_1() throws Exception { 
     selenium.open("/chapter2"); 
     verifyEquals("Button with name", selenium.getValue("name=but2")); 
     verifyEquals("chocolate", selenium.getValue("xpath=(//input[@name='verifybutton'])[2]")); 
     selenium.click("link=Index"); 
     selenium.waitForPageToLoad("60000"); 
     verifyTrue(selenium.isTextPresent("Chapter4")); 
    } 

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

답변

4

당신은 selenium라는 이름의 필드에 대한 참조를 가지고 있지만 정의 된 같은 필드가 없습니다 - 사람은 아래 코드로 볼 수 있습니다.

의견에서 분명히
Selenium selenium; 

당신은 또한 verifyEqualsverifyTrue 코드에서 참조하는 방법이 없습니다 : 클래스의

어딘가에는 아마도 단지 @Before 전에 라인에,이 필드를 추가 할 . 그 방법은 테스트가 확장해야 기본 클래스 SeleneseTestCase에 정의되어 있습니다

public class prashantk extends SeleneseTestCase { 
+0

감사합니다. Don이 작동 중입니다. 그러나 "verifyEuals"및 "verifyTrue"를 사용하는 곳에서 또 다른 문제가 발생했습니다. "verifyEuals"의 경우 오류가 발생합니다. - verifyEquals (String, string) 메소드는 prashantk 유형에 대해 정의되지 않았습니다. 그리고 "verifyTrue"에 대한 에러는 다음과 같습니다. - verifyTrue (boolean) 메소드는 prashantk에 대해 정의되지 않았습니다. – user1906778

+0

여기에 전체 스택 추적을 게시하여 문제에 대해 더 잘 이해할 수 있습니까? 또한 위의 게시 된 셀렌 코드 뒤에 업데이트 된 경우 코드를 표시하십시오. 도움이 될 것입니다. – Hemanth

+0

@HemChe : 아마도 런타임이 아닌 컴파일 오류이므로 스택 추적은 없습니다. –

0

코드에서 아래 라인을 교체 "localhost"를 (

셀레늄 아래 = 새로운 DefaultSelenium를 같이, 4444, "* 크롬 ","http://book.theautomatedtester.co.uk/ "); = 새로운 DefaultSelenium

   to 

DefaultSelenium 셀레늄 ("로컬 호스트"4444 "크롬 *", "http://book.theautomatedtester.co.uk/");

+0

안녕하세요, 저는 그렇게하려고했습니다. 하지만 작동하지 않습니다. – user1906778

+1

어떻게 든 솔루션을 발견했습니다. 내가 사용했다 - import org.junit.Assert. *; "verifyEuals"대신 "assertEquals"를 사용했습니다. Don and Hem에게 감사드립니다. – user1906778

0

코드를 보면 Selenium IDE에서 Eclipse와 같은 도구로 내 보낸 적이 있다는 인상을줍니다. WebDriver에 'verifyEquals'가 존재한다고 생각하지 않습니다. 대신 JUnit 어설 션이나 Hamcrest 어설 션을 사용하십시오. Java에서 처음부터 코드를 작성하는 것이 훨씬 덜 번거 롭습니다.