2014-02-27 7 views
0

나는 셀레늄을 처음 사용합니다. 내 코드에 다음과 같이 도착해야합니다.Selenium Webdriver를 사용하는 방법?

내가해야합니까 :

  1. Login.Java -> 로그인을합니까 웹 사이트를.
  2. settings.java -> 설정에서 일부 정보를 변경합니까?
  3. 로그 아웃 -> 웹 사이트를 로그 아웃합니다.

각 단일 코드가 잘 실행됩니다. 이제 다음과 같은 방법으로 도착해야합니다.

만들기 Sanity.Java - settings.java를 호출 할 때 login.java을 runng 후 logout.java

호출>

호출 Login.java 호출 settings.java , 그것은 다른 브라우저를 엽니 다 .. 대신 동일한 창을 실행하는 방법,이 작업을 수행하는 방법.

나의 계획은 다음과 같습니다 나는 각각의 기능을 파괴하고 나는 main.java 파일의 각 기능 전대 ..

답변

0

는 sanity.xml 말 3 테스트를 작성 메소드 이름을 포함하여 클래스 파일을 호출하는 노드. 이제 login.java, settings.java & logout.java와 같은 모든 Test 클래스에 의해 확장되는 BaseTest 클래스를 생성한다고 가정 해 보겠습니다. TestNG의에서 당신은 @BeforeSuite, @Test, @AfterSuite 같은 주석이

그래서 당신은 당신의 WebDriver의 객체 생성을 수행 @BeforeSuite와 BaseTest 클래스의 방법이 될 것이다 당신의 기본 클래스에 정적이 드라이버을 작성합니다 @BeforeSuite 메서드에서 한 번만 생성되어 나중에 나중에 테스트 할 때 직접 사용할 수 있습니다.

@Test 어노테이션은 당신이 당신의 WebDriver 인스턴스를 닫는 코드를 작성합니다 @AfterSuite에서 시험 방법

고려해야 할 login.java의 방법에 사용됩니다. BaseTest 귀하의 구조는 다소 이것이 내가 .. 그것을 좋아 보이는 것을 어떤 제안을이 방법을 도착

0

계획이 좋아 보인다.
모든 클래스에서 새 브라우저가 열리는 이유는 WebDriver의 새 인스턴스를 만들어야하기 때문입니다. 같은
뭔가 : WebDriver driver = new FirefoxDriver()
당신은 테스트 또는 주 방법되면 WebDriver 을 생성하고 액션 메소드에 대한 인수로 전달해야한다.
흐름을 마친 후에는 닫는 것을 잊지 마십시오.

행운을 빌어 요,
Ittiel는

당신은 또한 당신이있는 TestSuite XML을 작성합니다 이것으로, 테스트 프레임 워크 TestNG의 도움으로 셀레늄 WebDriver 테스트를 클럽 활동 생각할 수
0

당신에게 도움이되기를 바랍니다

public class BaseTest{ 
    public static WebDriver driver; 

    @BeforeSuite(alwaysRun = true) 
    public void startSuite(){ 
     driver = new FirefoxDriver(); 
    } 

    @AfterSuite(alwaysRun = true) 
    public void endSuite(){ 
     driver.quit(); 
    } 

} 

public class Login extends BaseTest{ 
    @Test 
    public void doLogin(){ 
     WebElement username = driver.findElement(By.xpath("//input[@name='username']")); 
     username.sendKeys("USERNAME"); 
    } 
} 

아래처럼 보일 것인가? 설정 및 로그 아웃에 대한 동일
1. DriverManager.Java 

a. Created static driver instance and the method getDriver. 

2. Login.java 

a. Imported the Drivermanager package. 
b. WebDriver driver=DriverManager.getWebDriver(); 
c. test Continiues 

는 ..

지금 난 당신이 드라이버의 단일 복사본을 유지 FactoryMethod 디자인 패턴의 도움으로, 그래서 모든 정신에이 ..

+1

가 좋아 보인다라고하는 모든 정신 테스트에 사용됩니다. 처음에는 DriverManager 클래스에서 인스턴스화 된 sanity 클래스에 로컬 참조를 유지할 수 있으며 다른 메소드는 동일한 로컬 참조 만 사용합니다. 여기서는 새 인스턴스를 만들지 않고 단일 인스턴스를 다시 사용합니다. – rsakhale

+0

고마워요 .... – ChanGan

관련 문제