블로그 이미지
평범하게 살고 싶은 월급쟁이 기술적인 토론 환영합니다.같이 이야기 하고 싶으시면 부담 말고 연락주세요:이메일-bwcho75골뱅이지메일 닷컴. 조대협


Archive»


 
 

SOAPUI로 유명한 SmartBear의 ALM 툴들

ALM | 2013.12.31 01:35 | Posted by 조대협

SOAPUI로 유명한 SmartBear(http://smartbear.com가 얼마전에 LoadUI라는 부하 테스트 툴을 내놓더니

요즘들어 보니 정말 많은 툴들을 내놓고 있다.


Selenium과 같은 웹 테스트 자동화 툴인 TestComplete

- 웹뿐 아니라 테스트 탑 및 Flash까지 테스트가 가능하다.


Requirement 관리, 애자일 Sprint관리, Test Case관리 까지 가능한 ALMComplete

JIRA + GreenHopper + TestLink 이런 느낌?


코드리뷰 툴에서 부터, 자동 빌드 툴 그리고 시스템 모니터링 툴까지 갖추고 있다.

Atlassian과 비슷한 느낌?


Atlassian이 자유도가 높은 형태라면, SmartBear는 딱 프로세스가 잡혀진 느낌 각각의 장단점은 있겠으나..

둘다 쓸만한 툴인듯.



Selenium Test Suite 수행

ALM/Test Automation | 2013.12.29 01:50 | Posted by 조대협

Selenium IDE로 만든 Test Case는 Test Suite로 저장해서, command line 상에서 테스트를 수행할 수 있다.


먼저 작성했던, Test cae를 IDE에서 Test Suite로 저장한다.

다음 Command line에서 selenium server를 수행하여, Suite를 실행한다.

java -jar selenium-server-standalone-2.39.0.jar -multiwindow -htmlSuite "{브라우져종류}" "{테스트하고자하는URL}" "{테스트SUITE HTML 파일 경로-절대경로}" "{테스트 결과가 저장될 HTML 파일명"} 으로 수행하면 된다

이때 브라우져 종류는 *chrome으로하면 firefox가, *explorer로 하면, IE를 수행해서 테스트를 수행한다.


예) C:\dev\tools\selenium>java -jar selenium-server-standalone-2.39.0.jar -multiwindow -htmlSuite "*chrome" "http://www.naver.com" "c:\dev\tools\selenium\naver_selenium_sample_suite" "C:\dev\tools\selenium\result.html"


아래는 테스트 결과 생성된 리포트 이다.




'ALM > Test Automation' 카테고리의 다른 글

TestLink를 이용한 Test Case 관리 자동화  (2) 2013.12.31
Selenium Test Suite 수행  (0) 2013.12.29
Selenium WebDriver와 RC 차이  (0) 2013.12.24
Selenium 테스트 메모  (0) 2013.12.24
테스트 팀의 조직 구조  (1) 2012.08.21
JUnit Max  (1) 2009.05.06

Selenium WebDriver와 RC 차이

ALM/Test Automation | 2013.12.24 00:20 | Posted by 조대협

How Does WebDriver ‘Drive’ the Browser Compared to Selenium-RC?

Selenium-WebDriver makes direct calls to the browser using each browser’s native support for automation. How these direct calls are made, and the features they support depends on the browser you are using. Information on each ‘browser driver’ is provided later in this chapter.

For those familiar with Selenium-RC, this is quite different from what you are used to. Selenium-RC worked the same way for each supported browser. It ‘injected’ javascript functions into the browser when the browser was loaded and then used its javascript to drive the AUT within the browser. WebDriver does not use this technique. Again, it drives the browser directly using the browser’s built in support for automation


출처 : http://docs.seleniumhq.org/docs/03_webdriver.jsp


'ALM > Test Automation' 카테고리의 다른 글

TestLink를 이용한 Test Case 관리 자동화  (2) 2013.12.31
Selenium Test Suite 수행  (0) 2013.12.29
Selenium WebDriver와 RC 차이  (0) 2013.12.24
Selenium 테스트 메모  (0) 2013.12.24
테스트 팀의 조직 구조  (1) 2012.08.21
JUnit Max  (1) 2009.05.06

Selenium 테스트 메모

ALM/Test Automation | 2013.12.24 00:11 | Posted by 조대협

Firefox selenium IDE를 이용하여 Record 가능. 간단하게 IDE내에서 Command 추가등도 가능

아래는 네이버에서 "조대협" 으로 검색하여, 검색 결과에 "조대협의 블로그" 문자열이 나오면 성공하는 테스트 케이스 




작성 완료후 Export하면

Java/JUnit 3,4 , Test NG

Ruby,Python,C# 등으로 TG Export 가능


아래는 JUnit4로 Export한 소스 코드

package com.example.tests;


import com.thoughtworks.selenium.*;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import static org.junit.Assert.*;

import java.util.regex.Pattern;


public class selenium_TC_naver {

private Selenium selenium;


@Before

public void setUp() throws Exception {

selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://www.naver.com/");

selenium.start();

}


@Test

public void testSelenium_TC_naver() throws Exception {

selenium.open("/");

selenium.click("id=query");

selenium.type("id=query", "조대협");

selenium.click("id=search_btn");

selenium.waitForPageToLoad("30000");

assertTrue(selenium.isTextPresent("조대협의 블로그"));

}


@After

public void tearDown() throws Exception {

selenium.stop();

}

}

다음은 Junit 4/Web Driver용으로 Export한 소스
package com.example.tests;

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class SeleniumTCNaverWebdriver {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before
  public void setUp() throws Exception {
    driver = new FirefoxDriver();
    baseUrl = "http://www.naver.com/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testSeleniumTCNaverWebdriver() throws Exception {
    driver.get(baseUrl + "/");
    driver.findElement(By.id("query")).click();
    driver.findElement(By.id("query")).clear();
    driver.findElement(By.id("query")).sendKeys("조대협");
    driver.findElement(By.id("search_btn")).click();
    // Warning: assertTextPresent may require manual changes
    assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*조대협의 블로그[\\s\\S]*$"));
  }

  @After
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}


'ALM > Test Automation' 카테고리의 다른 글

Selenium Test Suite 수행  (0) 2013.12.29
Selenium WebDriver와 RC 차이  (0) 2013.12.24
Selenium 테스트 메모  (0) 2013.12.24
테스트 팀의 조직 구조  (1) 2012.08.21
JUnit Max  (1) 2009.05.06
Software Testing Proces  (0) 2009.04.09

Selenium이 UI Base 테스팅 툴로 널리 쓰이는 것은 기정 사실로 알고 있는 것이고,
대용량 부하 테스트를 할 경우, 환경 마련이 만만하지 않은데,
Amazon의 E2C 클라우드를 이용해서 Selenium으로 대규모 부하 테스트를 할 수 있는 사이트가 있어서 소개 합니다.
인데, Selenium 스크립트를 만든후에, 로드하면 Amazon 클라우드를 이용하여 부하테스트를 하고, 그 결과를 리포팅 합니다.

Load R*와 같은 툴을 사용할 수 없는 곳이나, 이미 Selenium으로 테스트 코드를 구현해 놓은 곳에서는 저비용으로 매우 유용하게 사용할 수 있겠네요.

'ALM > Test Automation' 카테고리의 다른 글

JUnit Max  (1) 2009.05.06
Software Testing Proces  (0) 2009.04.09
Cloud 컴퓨팅을 이용한 대용량 Selenium 테스트  (0) 2009.02.18
Selenium (UI 테스트 자동화)  (1) 2009.02.09
EasyMock을 이용한 단위 테스트  (4) 2008.11.07
테스트 자동화 도구들  (0) 2008.08.07

Selenium (UI 테스트 자동화)

ALM/Test Automation | 2009.02.09 12:46 | Posted by 조대협
UI 테스트 프레임웍이다.
강규영님의 강좌 동영상을 보니까는, Fire Fox에 화면 Recorder까지 나와서 상당히 현실적으로 쉽게 테스트 케이스를 만들 수 있을것 같고..
무엇보다 테스트 스크립트 자체가 Meaningful 하기 때문에, 스크립트가 테스트케이스가 될 수 있다.

그런데 요즘 이상하게 프로젝트 할때 UI테스트할일이 없어진다.
Integration성 프로젝트만 해서 그런지.. 아니면 요즘 RIA CLIENT가 많아서 그런지...
Enterprise System에서는 Pure HTML로 된 페이지를 보기가 힘든것 같다.

'ALM > Test Automation' 카테고리의 다른 글

Software Testing Proces  (0) 2009.04.09
Cloud 컴퓨팅을 이용한 대용량 Selenium 테스트  (0) 2009.02.18
Selenium (UI 테스트 자동화)  (1) 2009.02.09
EasyMock을 이용한 단위 테스트  (4) 2008.11.07
테스트 자동화 도구들  (0) 2008.08.07
Junit best practices  (0) 2008.03.12
TAG Selenium, test

테스트 자동화 도구들

ALM/Test Automation | 2008.08.07 14:49 | Posted by 조대협

www.opensourcetesting.com

selenimum과 함께 쓰기 좋은 도구 http://cubictest.openqa.org/
STAF http://sourceforge.net/projects/staf