슬라이드 1

Similar documents
슬라이드 1

PowerPoint 프레젠테이션

문서의 제목 나눔고딕B, 54pt

슬라이드 1

PowerPoint Presentation

슬라이드 1

문서의 제목 나눔고딕B, 54pt

Social Media and Social Computing

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Spring Boot

파워포인트

슬라이드 1

Introduction to CTIP

슬라이드 1

Software Requirements Specification Template

슬라이드 1

슬라이드 1

슬라이드 1

소프트웨어 검증 및 설계

슬라이드 1

슬라이드 1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Software Requirements Specification Template

PowerPoint 프레젠테이션

12 성능모니터링 allmon Apache License v 성능모니터링 nmon GPL v3 분산되어있는시스템에대한자원상태체크, 사용현황, 성능등을수집

4S 1차년도 평가 발표자료

품질검증분야공개 SW 솔루션목록 ( ) 순번분류솔루션명라이선스기술지원홈페이지제품개요 1 BTS Bugzilla MPL community 웹기반의 bug tracking 및테스트도구 2 BTS Fossil 2-c

SBR-100S User Manual

목차 I. CI 정의 II. CI 필요성 III. CI 기능및특징 IV. CI 제품 V. Hudson VI. 적용방안 VII. 결론 - 1 -

PowerPoint 프레젠테이션

Apache Ivy

슬라이드 1

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

슬라이드 1

PowerPoint 프레젠테이션

2. 기능요약 Parallel 빌드지원등빌드자동화기능을지원하며다양한도구 ( 형상관리도구, Issue Tracker, Test 도구, IDE) 와의연동을지원함. 주요기능 Parallel 빌드지원 ( 다수프로젝트동시빌드 ) 분산빌드웹기반관리 알림형상관리도구지원

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

슬라이드 1

슬라이드 1

문서의 제목 나눔고딕B, 54pt

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft Word - src.doc

PowerPoint Presentation

SourceTree 를이용한 Git 사용법 1

Windows 8에서 BioStar 1 설치하기

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

JDK이클립스

1. 도구개요 STAF Testing 소개 각테스트대상분산환경에데몬을사용하여테스트대상프로그램을통해테스트를수행하고, 통합하며자동화하는 프레임워크 주요기능 테스트통합및자동화 카테고리 Testing 세부카테고리테스트설계및실행 커버리지 Test Integration / Aut

리눅스기초

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Template

서현수

[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

문서의 제목 나눔명조R, 40pt

2. 기능요약 요구사항들을기록하고이들을 JUnit Test Case 와매치함으로써프로세스를단순화 주요기능단위테스트프로그래밍언어지원시스템테스트 GUI / Console 파라미터가있는메소드의테스트 TDD 지원여부지원 F#, C#, C++ 등닷넷환경지원모두지원 2.5버전이상

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W


B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

슬라이드 1

SCTP 표준기술 동향

Software Requirements Specification Template

Spring

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

개발환경 교육교재

vRealize Automation용 VMware Remote Console - VMware

파워포인트

Angry MOMO Presentation

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri

MaxstAR SDK 2.0 for Unity3D Manual Ver

github_introduction.key

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

Intellij spring(mvc) + maven 환경구축 New Project에서좌측 template 유형에서 Maven을선택합니다. 오른쪽상단에 Project SDK는 java SDK가설치된폴더를선택하면됩니다. 오른쪽에 Create from archetyhpe을체

[Brochure] KOR_TunA

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

슬라이드 1

PowerPoint 프레젠테이션

해외전자정보서비스이용교육 EBSCO ebooks - 인터페이스상세이용방법및다운로드 ( 대출모드 ) 안내

PowerPoint 프레젠테이션

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - CPL-TR OM2M.doc

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

슬라이드 1

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

Facebook API

웹애플리케이션은크게사용자가인터랙션하는프런트엔드 (Front-end) 영역과, 사용자가요청한데이터를저장, 수정, 삭제하는백엔드 (Back-end) 영역으로나눌수있다. 웹애플리케이션개발에는다양한기술이사용된다. 최근에는더급격한속도로웹기술이발전되고있으며현대의웹애플리케이션은단순

Software Requirements Specification Template

Install stm32cubemx and st-link utility

목차 Ⅰ. 개요 Ⅱ. 추진배경 Ⅲ. 개발환경구축 ( 도구연계 ) Ⅳ. 도구연계성과 page 2

1. 도구개요 JUnit Testing 소개 JUnit 은 Java 기반테스팅을위한프레임워크로, 단위모듈 (ex: Method) 이정확히구현되었는지를확인할수있는도구 주요기능 Test case 생성및실행, 오류추적 카테고리 Testing 세부카테고리테스트설계및실행 커버리

PowerPoint 프레젠테이션

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Software Requirements Specification Template

<4D F736F F F696E74202D20C1A632C8B8C7D1B1B9BDBAC7C1B8B5BBE7BFEBC0DAB8F0C0D32D496E E D56432E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

슬라이드 1

슬라이드 1

Transcription:

SW 개발도구연계 Git - Selenium - Maven - Jenkins

목차 Intro Git Selenium Maven Jenkins

Intro

연계도구 분산형형상관리시스템 가벼운브랜치를활용한개발생산성향상 GitHub 등다양한웹기반저장소서비스 웹브라우저상의테스팅자동화 Selenium IDE 를통한브라우저액션녹화 다양한언어및테스팅프레임워크지원 자바기반의빌드자동화 편리한의존성관리 플러그인을통해다양한작업을빌드작업에포함가능 웹기반의지속적통합도구 작업스케줄러또는컨테이너역할 플러그인을통해다양한도구와연계 4

연계시나리오 로컬저장소의내용을바탕으로 Git 서버구성 Selenium 을통해웹애플리케이션의브라우저테스팅자동화 Maven 을 Selenium 과연계하여컴파일, 테스팅, 빌드자동화 Jenkins 를 Git 및 Maven 과연계하여지속적통합 5

실행환경 로컬 PC 서버 OS Windows 7 JDK Oracle JDK 1.7.0_71 WAS Tomcat 7.0.55 Git 2.1.1 Selenium 2.8.0 Maven 3.2.3 전제조건 OS Linux Mint 17 JDK Oracle JDK 1.7.0_67 WAS Tomcat 7.0.55 Git 2.1.3 Maven 3.2.2 Jenkins 1.580 관련도구의설치방법은각도구의활용지침참고 Git 와 Maven 은 Eclipse 등의 IDE 에플러그인이있으나, 여기서는 IDE 종속을피하고도구본연의기능을명령창에서실행 서버에 swbank 라는사용자계정준비 6

Git

목표 두가지방식으로 Git 서버저장소 (Bare Repository) 를구성한다. 서버에이미있는 Git 일반저장소를서버저장소로재구성하고, 서버저장소에서개발 PC 로 clone 서버에비어있는서버저장소를만들고, 개발 PC 에서서버저장소에 push 하여서버저장소구성 8

일반저장소를서버저장소로재구성 Github 에서서버로예제소스 clone git clone https://github.com/hanmomhanda/web-demo.git 위와같이 web-demo 저장소생성 9

일반저장소를서버저장소로재구성 git clone 을통해생성되는저장소는실제소스파일을모두가지고있는일반적인저장소 bare repository 는실제소스파일없이형상관리이력정보만을가지고있는서버전용저장소 아래명령으로일반저장소를 bare repository 로복제 git clone --bare web-demo web-demo.git 10

일반저장소를서버저장소로재구성 일반저장소내용 일반저장소에서 git status 실행 11

일반저장소를서버저장소로재구성 서버저장소내용 서버저장소에서 git status 실행 12

일반저장소를서버저장소로재구성 일반저장소삭제 서버저장소파일권한설정 git init --shared=0777 --bare 777 대신적절한모드부여 13

일반저장소를서버저장소로재구성 개발 PC 에서서버저장소 clone git clone ssh:// 사용자계정 @Git 서버호스트명 /PATH/TO/GITREPO 개발자는로컬개발 PC 에서작업후 Git 서버저장소로 Push 가능 14

구성방식 Git 서버에있던일반저장소를서버저장소로재구성 개발 PC 는서버저장소에서 clone 서버 X Git 일반저장소 Git 서버저장소 bare repo 개발자 PC Git 일반저장소 15

개발 PC 에서빈서버저장소에 push 서버에비어있는 git 서버저장소생성 git init --bare web-demo.git 16

개발 PC 에서빈서버저장소에 push 서버저장소의 log 확인 git log 비어있는저장소이므로로그가없음 개발 PC 의 Git 일반저장소의 config 파일에있는 remote url 값을비어있는서버저장소 url 로설정 개발 PC 의 git 저장소 /.git/config 파일 17

개발 PC 에서빈서버저장소에 push 개발 PC 에서비어있는서버저장소에 push git push origin master swbank 계정비밀번호입력 18

개발 PC 에서빈서버저장소에 push 서버에서서버저장소의 log 확인 git log 개발 PC 의내용으로서버저장소구성완료 19

구성방식 Git 서버에비어있는서버저장소를새로만들고 개발 PC 의 Git 일반저장소에있는내용을서버에 push 해서서버저장소구성 서버 개발자 PC Git 서버저장소새로생성 bare repo Git 일반저장소 20

Selenium

목표 Selenium IDE 로 Firefox 브라우저상에서의테스트를녹화하고, Selenium 사용을위한 <dependency> 를 pom.xml 에추가하고, Selenium IDE 에의해자동생성된테스트코드를수정하고, Firefox 이외이브라우저에대한드라이버를설치하고 JUnit 을통해브라우저테스트실행 22

Selenium IDE 설치 Selenium IDE 설치 셀레늄 IDE는 Firefox 기반의브라우저플러그인으로 브라우저상에서의사용자액션을녹화하고 여러가지언어와테스팅프레임웍에맞는소스코드생성 Firefox 에서다운로드해야함 (Firefox 플러그인 xpi 파일 ) 23

Selenium IDE 설치 Selenium IDE 설치 ( 계속 ) 24

Selenium IDE 사용 Selenium IDE 실행 녹화가자동으로실행 플러그인아이콘클릭하면 Selenium IDE 실행 25

Selenium IDE 사용 Firefox 주소창에웹애플리케이션주소입력및테스트수행 클릭 26

Selenium IDE 사용 Selenium 녹화완료 1. 녹화종료 3. 녹화내용재실행기능 ( 여러건, 한건 ) 2. 녹화내용웹애플리케이션접속검색어입력란에검색어 자바 입력검색버튼클릭검색결과중상세보기클릭상세보기화면에서책의제목클릭 27

Selenium IDE 사용 테스트소스코드내보내기 Ruby, Python, Java, C# 언어지원 RSpec, unittest, JUnit, TestNG, NUnit 등테스팅프레임워크지원 28

Selenium IDE 사용 테스트소스코드저장 src/test/java/selenium 에저장 Test*.java, *Test.java, *TestCase.java 처럼 Maven 규약에맞는이름으로저장하면 Maven 에의해테스트실행가능 29

Selenium 테스트실행 pom.xml 에 selenium 의 <dependency> 추가 30

Selenium 테스트실행 테스트소스수정 package 이름수정 selenium; 으로수정 기본은 Firefox 31

Selenium 테스트실행 테스트소스수정 url 수정 / 두개가겹치므로하나제거 32

Selenium 테스트실행 테스트소스실행 파일우클릭 > Run As > JUnit Test 로실행 33

Firefox 이외의브라우저 다른브라우저에서의테스트를위한준비 아래의링크에서브라우저별드라이버다운로드 exe 파일로서별도의설치는필요하지않음 34

Firefox 이외의브라우저 브라우저별드라이버실행파일위치를시스템속성으로지정 WebDriver 객체생성전에지정해야함 Chrome 사례 IE 사례 Safari 나 Opera 의경우도같은방식의처리필요 35

Selenium 테스트실행 테스트소스실행 파일우클릭 > Run As > JUnit Test 로실행 브라우저가자동으로실행되면서녹화된동작재수행 주의사항 2014 년 12 월기준 Firefox 는이클립스에서 JUnit 으로실행시녹화동작재수행완료후브라우저닫기에서오류발생 https://code.google.com/p/selenium/issues/detail?id=7506 낮은버전의 IE 는 JSON.parse 등이동작하지않을수있음 36

Maven

목표 한글관련문제발생을미리막을수있는 Maven 설정방법을알아보고, Selenium 과 Maven 을연계하여 mvn test 실행시 JUnit 단위테스트및 Selenium 에의한브라우저테스트도함께실행 38

한글관련메이븐설정 컴파일및테스트과정에서인코딩문제로한글관련오류가발생할수있음 pom.xml 의 <project> 의바로아래수준에아래와같이 <properties> 를추가하여인코딩을강제로 utf-8 로지정 <properties> <file.encoding>utf-8</file.encoding> <maven.compile.encoding>utf-8</maven.compile.encoding> <maven.test.compile.encoding>utf-8</maven.test.compile.encoding> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <project.reporting.outputencoding>utf-8</project.reporting.outputencoding> </properties> 테스트를담당하는 sure-fire 플러그인에도인코딩지정 <project> > <build> 의바로아래에아래내용추가 <pluginmanagement> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-surefire-plugin</artifactid> <version>2.18</version> <configuration> <argline>-dfile.encoding=utf-8</argline> </configuration> </plugin> 39

테스트실행 메이븐에서는기본적으로 src/test/java 아래에 이름이 Test*.java, *Test.java, *TestCase.java 인모든테스트파일을컴파일하고실행한다. 특정테스트를테스트실행에제외 / 포함하려면 pom.xml 에서아래와같이 sure-fire 플러그인을설정한다. <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-surefire-plugin</artifactid> <version>2.18</version> <configuration> <argline>-dfile.encoding=utf-8</argline> <excludes> <exclude>**/firefox*.java</exclude> </excludes> <includes> <include>**/chromedrivertest.java</include> <include>**/internetexplorerdrivertest.java</include> </includes> </configuration> </plugin> 40

Selenium 연계 pom.xml 파일에 selenium-java 에대한 <dependency> 를추가하면셀레늄과메이븐이연계되고 셀레늄테스트파일의위치와파일이름이메이븐의테스트파일에대한규약을준수하면 mvn test 실행시셀레늄테스트도함께수행된다. <dependency> <groupid>org.seleniumhq.selenium</groupid> <artifactid>selenium-java</artifactid> <version>2.44.0</version> <scope>test</scope> </dependency> 41

Jenkins

목표 새로운 Job 을생성하여 Git 저장소와연계하고 Maven 과연계하여테스팅을포함한빌드수행후결과확인 웹애플리케이션서버에배포및결과확인 43

Jenkins 설치 Jenkins 는웹애플리케이션서버위에서운영되는웹기반 CI 도구 홈페이지에서 war 파일을 WAS_HOME/webapps 에다운로드 44

새작업생성 화면좌측 New Item 에서새작업생성 Build a maven project 로생성 45

프로젝트개요 프로젝트이름및설명작성 46

Git 연계 앞에서구성한 Git 의서버저장소 URL 을지정 빌드할브랜치를지정 47

Maven 연계 빌드트리거방식, 빌드전작업, 메이븐 Goal 지정 빌드트리거방식을선택하지않아도 Jenkins 사이트를통해언제든지빌드가능 SNAPSHOT 이빌드될때마다빌드 원격에서 Script 로빌드 다른프로젝트빌드후빌드 주기적으로빌드 폴링으로형상관리저장소이벤트발생시빌드 48

배포설정 후처리설정을통해빌드완료후웹애플리케이션서버로의배포설정 mvn package 에의해 Jenkins 작업공간에생성된 war 파일을 WAS_HOME/webapps 로복사 49

Jenkins 작업실행 Jenkins 좌측의 Build Now 를클릭하여작업실행 파란색공은빌드성공 노란색공은빌드불안정 빨간색공은빌드실패 50

Jenkins 테스트결과확인 Test Result 를클릭하여테스트결과확인 51

Jenkins 빌드결과확인 Console Output 를클릭하여테스트결과확인 52

WAS 에배포확인 브라우저에서 WAS 에있는웹애플리케이션실행및확인 53