StoryCode

Web Automation Test Tool Guide

Web Automation Test Tool
반응형

[ 출처 ] http://wingsh.tistory.com/148

Selenium

도구 명Selenium 
구매 여부
    • 오픈 소스 (Apache License 2.0)
도구 설명(특징)
    • 웹 어플리케이션 테스트 프레임워크
적용 장점
    • 다양한 프로그래밍 언어 지원 (Python, Ruby, .Net, Perl, Java, PHP)
    • 현재 사용되고 있는 대부분의 Browser에서 실행 가능 (IE, FireFox, Opera, Safari, Chrome)

    • 다양한 운영 체제에서 동작 가능 (Windows, Linux, Macintosh)

    • 웹페이지 객체에 대해 다양한 접근 가능 (Id, Name, Identifier, XPath, Dom, CSS, Link 등)

    • Flash, SilverLight, Ajax 지원 가능 (추가 설치 필요)

    • 다양한 테스트 프레임워크와 연동 가능 (Bromine, JUnit, NUnit, TestNG, FitNesse)

    • 언어를 자바로 선택했을 경우, 이클립스 사용 가능하고 이클립스 플러그인 사용가능

    • JUnit과 결합할 경우 개발자 Unit 테스트와 유사한 형태 (CI서버, Clover 등 연동 가능)

적용 범위
    • 서비스에 대한 브라우저 호환성 체크, 서비스 테스트 자동화 등
제약 사항
    • FireFox에서 가장 잘 수행되며, IE 등 다른 브라우저에서는 버그가 존재함(Cross Domain등)
    • Flash 테스트는 외부에 노출된 External Interface에 한해서만 가능
사용 팁 
    • 코드 작성시 Selenium IDE(레코딩 기능), XPath Checker, FireBug 툴을 사용하면 코드 작성이 용이함
    • 코드 작성 이후 기존 Unit Test 하는 방법과 유사하게 진행됨.
    • 다양한 이클립스 플러그인 사용하면 좀 더 쾌적한 환경을 구성할 수 있음
필요한 기술
    • JAVA를 베이스로 사용할 경우: JAVA, HTML, JAVA SCRIPT, 이클립스 사용법
관련 자료 다운로드

AutoIt

도구 명AutoIT
구매 여부
    • 오픈 소스
도구 설명(특징)
    • 윈도우 GUI와 범용적인 동작들을 테스트 자동화 하기 위한 도구로 윈도우 기반의 웹, 어플리케이션에 대해 손쉬운 스크립트 작성 가능
적용 장점
    • Web Browser 뿐만 아니라, Windows Application에 대한 제어도 가능함
    • 이미지 비교를 통해서 웹이나 어플리케이션에 대한 UI 테스트가 가능함
    • Recording 기능 및 명령어 자동완성 기능을 통해 손쉽게 테스트 케이스를 만들 수 있음
    • 외부 API, DLL 사용이 가능함
    • ImageSearch.DLL을 이용하여 UI 테스트가 가능
    • 국내/해외 사용자가 많아, 관련 문서나 Example을 찾기 쉬움(커뮤니티 활성화)
    • SWAT과 연동 활용 가능함
    • Compile 후 별도의 Framework 설치 필요 없이 독립적으로 실행 가능
    • Random, For, IF 문 등의 사용이 가능하므로 복잡하고 다양한 테스트 시나리오 작성이 가능함
적용 범위
    • Flash를 제외한 모든 웹/윈도우 어플리케이션에서 제약 없이 테스트 자동화 가능
    • 웹과 어플리케이션을 병행하는 서비스에 대해서 효율적인 결과를 도출할 수 있음
    • 이미지 비교(ImageSearch.DLL)을 통해서 UI 테스트 자동화 가능
제약 사항
    • Flash는 테스트 불가능 (ImageSearch.DLL을 이용해 이미지 비교 후 해당 좌표에 대한 Action은 가능함)
    • Recording이 가능하나, Recording 시 객체에 대한 확인 보다는 Low Recording으로 좌표에 대한 Action으로 Recording (Recording 효율성이 낮음)
    • Low Level Action에 대해 Recording을 하게 되므로, UI 변경 시 Recording된 Script에 대한 효율성이 낮음
    • 테스트 결과에 대한 View가 제공되지 않아, 별도의 Test Result를 볼 수 있도록 결과 페이지를 작성 해야 함
    • 기본적인 스크립트를 작성하기 위해서는 기초적인 Language Skill이 요구되므로 지식이 없는 사용자가 사용하기에 진입장벽이 존재함
사용 팁 
    • 결과에 대한 Result View가 존재하지 않으므로, 별도의 Result를 볼 수 있도록 Log나 Html, XML 형식으로 결과를 Write
    • Object의 Name, ID가 존재하지 않을 경우에는 ImageSearch.DLL함수를 이용하여 해당 Object의 Position을 받아와 Action 수행
    • 자주 사용되는 기능이나, 모듈에 대해서는 재사용성이 용이하도록 Function 또는 Module 화
    • SWAT과 연동이 가능하므로 기본적인 웹 기능에 대해서는 SWAT을 이용하고, SWAT으로 Cover 하기 어려운 부분은 AutoIT을 이용
필요한 기술
    • WEB Object(HTML)와 COM 객체에 대한 개념
    • AutoIT의 기본적인 개념 및 기본적인 Script Language 습득
관련 자료 다운로드

SWAT

도구 명SWAT (Simple Web Automation Toolkit)
구매 여부
    • 오픈 소스
도구 설명(특징)
    • HTML 기반의 웹 어플리케이션 테스트 자동화 도구로 End-User 관점에서 다양한 브라우저를 이용하여 손쉽게 테스트 케이스 작성이 가능
적용 장점
    • 스크립트 구조가 간단하여 다른 자동화 도구에 비해 익히기 쉬움
    • 다양한 브라우저 지원 (Internet Explorer 6.0이상 8.0지원, Firefox, Safari)
    • Recording 기능 및 명령어 자동완성 기능을 통해 손쉽게 테스트 케이스를 만들 수 있음.
    • FitNesse와 연동 가능
    • Hudson CI서버와 연동하여 Regression Test 자동화 가능
    • 테스트의 성공/실패에 따라 선택적으로 그 결과를 스크린샷으로 확인 가능
    • RunScript 명령어를 이용하여 JavaScript 를 직접 실행 가능
    • SWAT4NHN 20091111이후 버전부터 AutoIT 연동기능 제공
    • Random, For, IF 문 등의 사용이 가능하므로 복잡하고 다양한 테스트 시나리오 작성이 가능함
적용 범위
    • 기본적으로 HTML과 JavaScript만으로 이루어진 웹 어플리케이션은 제약 없이 자동화 가능
    • 간단한 Ajax와 ActiveX(예, 파일 업/다운로드 컴포넌트)가 사용된 경우도 가능
제약 사항
    • ActiveX / Flash는 테스트가 불가능 (단, AutoIt과 연동 기능을 제공하므로 비교적 단순한 테스트는 자동화가 가능함)
    • Ajax를 지원하지만 제약사항이 존재함 (단순한 구조만 가능)
    • 일부 Recording이 잘 되지 않는 경우가 존재함
    • 테스트 케이스 실행 시 런타임 시점에 테스트 결과에 따라 실행 순서를 변경하거나 특정 테스트를 반복하는 등의 flow control 기능이 없음
      (단, Command Modifier를 지원하여 간단한 컨트롤은 가능함)
    • 명령어가 단순하므로 복잡한 로직을 포함하는 테스트 케이스는 작성이 불가능
    • 현재 FireFox의 JSSH 플러그인 문제로 인해 한글 입력이 잘 되지 않음
사용 팁 
    • SWAT Editor의 Recording 기능을 활용하여 기본적인 스크립트를 완성하고, Play해서 recording이 잘 되지 않는 부분은 명령어를 직접 typing하여 완성
    • 검증 하고자 하는 값(check point)을 정하고 다양한 Assert 명령어를 추가하여 테스트의 성공/실패를 확인할 수 있도록 함
    • 이렇게 작성된 스크립트를 FitNesse 위키 페이지에 옮겨서 저장하고 테스트를 수행
    • FitNesse와 연동할 경우 관련 있는 테스트 케이스를 페이지 별로 구조화 시키고 다른 페이지 내에서 include와 variable를 통해 재사용 가능하도록 만들 수 있으므로 테스트 케이스 작성 및 유지보수성을 높일 수 있음
    • 특히, 관련 있는 테스트는 FitNesse에서 제공하는 Suite기능을 통해 테스트가 작성된 모든 페이지들을 한번에 테스트 가능
    • FitNesse와 연동 시 Hudson CI서버와도 연동이 가능하므로 주기적인 테스트 및 이전 테스트 결과를 비교 참조할 수 있음
필요한 기술
    • SWAT 개념 및 명령어 작성법
    • Hudson 연동을 위한 STAF 커맨드 사용법 
관련 자료 다운로드

QTP

도구 명QTP (Quick Test Professional)
구매 여부
도구 설명(특징)
    • 기능 테스트 자동화 솔루션으로 MS Windows GUI 어플리케이션에 대한 기능 테스트 및 회귀 테스트 자동화가 가능함
적용 장점
    • 오브젝트 자동 인식 및 등록: 어플리케이션 스크린 구성 요소들을 한번의 마우스 클릭으로 Shared Object Repository에 등록함으로써 작업 그룹간에 협업 지원
    • Keyword View를 통해 Coding 작업 없는 스크립트 작성 지원
    • Auto-documentation: 테스트 단계 작성과 동시에 자동 설명 등록
    • Integrated Data Table (간단한 테스트 데이터 등록 및 실행)
    • 테스트 결과 검증이 용이
적용 범위
    • Web/Windows 서비스 모두 테스트 가능
제약 사항
    • 스크립트 오동작으로 오브젝트 인식이 안 되는 경우가 있음
사용 팁 
필요한 기술
    • SWAT 개념 및 명령어 작성법
    • Hudson 연동을 위한 STAF 커맨드 사용법 
관련 자료 다운로드

WebDriver

도구 명WebDriver
구매 여부
도구 설명(특징)
    • Web UI 테스트 자동화 라이브러리로 다양한 드라이버를 통한 다중 브라우저 테스트 가능
    • 개발자 관점의 웹 테스트 자동화 지원 도구 (only API)
적용 장점
    • 다양한 브라우저(Internet Explorer, Firefox, Safari, Chrome)에 대한 직접적인 컨트롤을 통한 네이티브한 테스트 지원
    • HtmlUnit 드라이버 지원을 통한 플랫폼 독립적인 테스트 및 테스트 결과의 빠른 피드백 가능
    • Support 라이브러리를 사용한 Java Object와 Web Page간 Binding
    • 자바스크립트(Javascript) 지원
    • 쿠키(Cookie)와 관련된 다양한 기능 지원
    • Maven을 통한 Maven 프로젝트에의 손쉬운 테스트 케이스 추가 가능
    • 다양한 키보드 제어 기능 지원
적용 범위
    • HtmlUnit이 지원하는 범위 내의 웹UI 테스트를 지원하며, 동일한 테스트케이스에 대해 여러 웹 브라우저에 대한 반복 테스트가 필요할 경우 사용 가능
제약 사항
사용 팁 
관련 자료 다운로드

WebAii

도구 명WebAii
구매 여부
    • 상용 도구이나 테스트 엔진 자체는 무료로 제공되므로 무료 사용 가능
도구 설명(특징)
    • 웹 어플리케이션 테스트 자동화 도구로 End-User 관점에서 다양한 브라우저를 이용하여 손쉽게 테스트 케이스 작성이 가능
    • Browser와 연계된 Win32 Native 이벤트 제어를 광범위하게 지원함으로써, 기존의 테스트 도구로 테스트하기 힘든 복잡한 어플리케이션도 테스트할 수 있음
    • Test Recoder는 상용으로 제공되나, 테스트 엔진 자체는 무료로 제공됨
적용 장점
    • 타 테스트 도구에 비해 많은 API 셋을 제공함으로써, 테스트 코드가 간단함
    • 다양한 브라우저 지원 (Internet Explorer 6.0이상 8.0지원, Firefox, Safari)
    • SilverLight App에 대한 직접 지원(External API 필요 없음).
      Flash에 대한 Window Native Event를 사용한 처리 지원
    • 다양한 .NET 기반 Unit Test 프레임웍 지원 (MbUnit / MSTest / NUnit 등)
    • Recording 기능을 통해 자동으로 테스트 케이스를 만들 수 있음 (단, 상용 버전 구매 필요)
적용 범위
    • 지나치게 복잡하여 다른 도구로 테스트하기에 힘든 Ajax Web Application
    • Silverlight / Flash 를 많이 사용한 Web Application 테스트
    • Web Game Launcher등 Windows Native App 테스트와 연계가 필요한 경우 
      (또 다른 Native App 테스트 환경인 White(http://www.codeplex.com/white)와 자연스럽게 연계 가능)
제약 사항
    • NET 지원 언어 습득 필요. Window 환경에서만 동작
    • Visual Studio 구매 또는 Open Source. NET IDE인 SharpDevelop 사용 필요
    • 한글 FireFox에 대한 JavaScript 다이얼로그 처리 기능 일부 미숙. 패치 필요
    • API가 약간 직관적이지 않아 학습이 필요함스크립트 오동작으로 오브젝트 인식이 안 되는 경우가 있음
사용 팁 
필요한 기술
    • .NET 지원 언어 사용법.
    • .NET Unit Test Framework 사용법
관련 자료 다운로드


 



출처: http://wingsh.tistory.com/148 [꾸준함의 위대함]

반응형

'Web Automation Test Tool' 카테고리의 다른 글

WebCrawl.py  (0) 2018.06.01
Selenium 을 이용한 Web 어플리케이션 테스트 자동화  (0) 2018.05.31

Selenium 을 이용한 Web Crawling

Chrome Browser 활용법
반응형

Selenium이란?


Selenium은 주로 웹앱을 테스트하는데 이용하는 프레임워크다. webdriver라는 API를 통해 운영체제에 설치된 Chrome등의 브라우저를 제어하게 된다.

브라우저를 직접 동작시킨다는 것은 JavaScript를 이용해 비동기적으로 혹은 뒤늦게 불러와지는 컨텐츠들을 가져올 수 있다는 것이다. 즉, ‘눈에 보이는’ 컨텐츠라면 모두 가져올 수 있다는 뜻이다. 우리가 requests에서 사용했던 .text의 경우 브라우저에서 ‘소스보기’를 한 것과 같이 동작하여, JS등을 통해 동적으로 DOM이 변화한 이후의 HTML을 보여주지 않는다. 반면 Selenium은 실제 웹 브라우저가 동작하기 때문에 JS로 렌더링이 완료된 후의 DOM결과물에 접근이 가능하다.

어떻게 설치하나?


pip selenium package

Selenium을 설치하는 것은 기본적으로 pip를 이용한다.

pip install selenium

참고: Selenium의 버전은 자주 업데이트 되고, 브라우저의 업데이트 마다 새로운 Driver를 잡아주기 때문에 항상 최신버전을 깔아 주는 것이 좋다.

이번 튜토리얼에서는 BeautifulSoup이 설치되어있다고 가정합니다.

BeautifulSoup은 pip install bs4로 설치 가능합니다.

webdriver

Selenium은 webdriver라는 것을 통해 디바이스에 설치된 브라우저들을 제어할 수 있다. 이번 가이드에서는 Chrome을 사용해 볼 예정이다.

Chrome WebDriver

크롬을 사용하려면 로컬에 크롬이 설치되어있어야 한다.

그리고 크롬 드라이버를 다운로드 받아주자.

https://sites.google.com/a/chromium.org/chromedriver/downloads

글 작성일자인 2월 27일에는 ChromeDrive 2.27버전이 최신이며, 크롬 v54~56을 지원한다.


다운로드하면 실행파일이 나타나는데, Selenium 객체 생성시 전체 디렉토리명이 필요하다.


PhantomJS webdriver

PhantomJS는 기본적으로 WebTesting을 위해 나온 Headless Browser다.(즉, 화면이 존재하지 않는다)

하지만 JS등의 처리를 온전하게 해주며 CLI환경에서도 사용이 가능하기 때문에, 만약 CLI서버 환경에서 돌아가는 크롤러라면 PhantomJS를 사용하는 것도 방법이다.

PhantomJS는 PhantomJS Download Page에서 받을 수 있다.

Binary 자체로 제공되기 때문에, Linux를 제외한 OS에서는 외부 dependency없이 바로 실행할 수 있다.


from selenium import webdriver

from bs4 import BeautifulSoup



driver = webdriver.Chrome('chromedriver.exe')

driver.implicitly_wait(3)


#driver = webdriver.PhantomJS('c:\Users\PC1\Desktop\0000-000,Project.Dev.Repository\Dev.Python\WebCrawling\phantomjs.exe ')



driver.get('https://nid.naver.com/nidlogin.login')

driver.find_element_by_name('id').send_keys('아이디')

driver.find_element_by_name('pw').send_keys('암호')

driver.find_element_by_xpath('//*[@id="frmNIDLogin"]/fieldset/input').click()

driver.find_element_by_xpath('//*[@id="frmNIDLogin"]/fieldset/span[2]/a').click()


# Naver 페이 들어가기

driver.get('https://order.pay.naver.com/home')

html = driver.page_source

soup = BeautifulSoup(html, 'html.parser')

notices = soup.select('div.p_inr > div.p_info > a > span')


for n in notices:

    print(n.text.strip())



[ 참조 ] https://beomi.github.io/2017/02/27/HowToMakeWebCrawler-With-Selenium/


반응형

HTML Object selector 문장 쉽게 뽑기

Chrome Browser 활용법
반응형

예를 들어, 아래 네이버의 로고를 select 로 뽑고 싶을 경우

Ctrl + Shift + C 를 누른다음(혹은 로고에 마우스 오른쪽클릭 > 검사), 네이버 로고를 클릭하면, Developer 창이 뜬다.



창이 뜨면, 해당 html 이 선택되는데, 오른쪽 마우스를 클릭해서 Copy > Copy selector 를 선택하면,


#PM_ID_ct > div.header > div.special_bg > div > div.area_logo > h1 > a > span


와 같은 문장이 만들어진다.


반응형

삼성브라우저에서 계속 문제 발생

사무, 유용한 툴
반응형

다른 휴대폰에서는 다 잘되는데, 삼성 일부 기종 A* 씨리즈 + 삼성 브라우저 에서 안됨.


- 동영상플레이 안됨.

- 인증서 오류 발생.

- 키보드 안 넘어감 발생.



동영상은 FLV 플레이어나 곰플레이어 설치해서 연결.

반응형

'사무, 유용한 툴' 카테고리의 다른 글

ZOOM.iPad 미러링  (0) 2020.04.02
ZOOM.사전 등록.출석  (0) 2020.04.02
마우스 하나로 두대 컴퓨터.Synergy  (0) 2020.02.16
판서, 전자칠판, EpicPen  (0) 2018.05.29
팀뷰 리셋, TeamViewer Reset  (0) 2017.04.19

판서, 전자칠판, EpicPen

사무, 유용한 툴
반응형

Epic Pen Setup.exe

우선 https://epic-pen.com/?ref=sf 에 접속하셔서 아래로 스크롤하면,

아래와 같은 프로그램이 나타납니다.


Basic Free 를 다운로드 받아서 설치하신뒤,



아래와 같은 창이 나타납니다.


- 펜모양이 판서기능입니다.
- 눈모양을 클릭하면 판서기능이 숨겨집니다.
- 커서를 클릭하면 판서된 내용은 보이나 쓸수는 없고, 화면을 제어할 수 있습니다.



반응형

'사무, 유용한 툴' 카테고리의 다른 글

ZOOM.iPad 미러링  (0) 2020.04.02
ZOOM.사전 등록.출석  (0) 2020.04.02
마우스 하나로 두대 컴퓨터.Synergy  (0) 2020.02.16
삼성브라우저에서 계속 문제 발생  (0) 2018.05.29
팀뷰 리셋, TeamViewer Reset  (0) 2017.04.19

Console Program, 자동 창 닫기 보류

C#/기타
반응형

1) Console.ReadLine();


2) Console.ReadKey();


3) 실행시 Ctrl + F5


4) System.Threading.Thread.Sleep(1000);

반응형

'C# > 기타' 카테고리의 다른 글

Socket Client/ Server 샘플 예제  (0) 2018.05.23
Audio Live Streaming  (0) 2018.05.23
디버깅시 코드에 브레이크 코드 넣기  (0) 2018.05.22

지구, Earth

Web Dev, HTML, CSS, SVG, BootStrap/Icon, 아이콘
반응형



<svg width="102" height="102" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path d="M99.981 49.985c0 27.49-22.286 49.777-49.776 49.777-27.49 0-49.777-22.286-49.777-49.777C.428 22.495 22.714.21 50.205.21c27.49 0 49.776 22.286 49.776 49.776" id="a"/><path d="M99.981 49.985c0 27.49-22.286 49.777-49.776 49.777-27.49 0-49.777-22.286-49.777-49.777C.428 22.495 22.714.21 50.205.21c27.49 0 49.776 22.286 49.776 49.776" id="c"/></defs><g transform="translate(1 1)" fill="none" fill-rule="evenodd"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><use fill="#F0F7F7" xlink:href="#a"/><path d="M32.042 102.688c1.362-4.228 13.7-19.521 15.91-21.24 2.21-1.717 8.346-6.873 2.455-9.572-5.892-2.701-7.364-7.119-8.1-11.047-.737-3.927-13.256-.736-17.675-1.963-4.417-1.227-7.609-11.537-5.4-14.237 2.21-2.7 8.347 5.155 10.065 4.419 1.718-.738 0-3.683 0-6.628 0-2.946 9.082-7.61 11.537-9.328 2.454-1.718-5.646-7.119-8.347-7.119-2.7 0-6.382 2.7-10.554.246-4.174-2.455 4.172-7.364 6.136-9.082 1.964-1.718-2.21-1.964-4.418-3.191-2.21-1.228-1.556-5.616-7.202-6.598 0 0-6.172 3.736-11.694 11.532-5.522 7.796-7.47 16.242-7.47 16.242s5.503.978 6.665 2.99c1.343 2.325 1.59 11.598 2.457 14.72.578 2.072 2.146 1.365 2.146.404 0-1.448-1.572-11.332.124-9.833 1.343 1.184 1.282 7.748 3.928 12.518 2.017 3.637 7.935 3.587 13.255 6.136 2.395 1.149-2.21 6.628-1.964 9.574.246 2.945 6.382 6.628 7.364 8.346.982 1.718-1.718 3.19-3.927 4.172-2.21.983.246 3.192 1.718 5.892 1.473 2.7-2.044 6.963-1.881 11.023l4.872 1.625zM62.576-1.26c.737 3.436-6.363 18.147-8.328 20.357-1.963 2.209-7.079 6.627-9.533 4.418-2.455-2.21-2.21-10.8-4.91-12.028-2.7-1.228-7.662-8.17-10.362-12.098 0 0 6.334-4.548 20.302-2.923C63.713-1.91 62.576-1.26 62.576-1.26zm41.092 44.827s-9.323.571-10.796 1.553c-1.472.981-4.91-.246-6.136-1.473-1.228-1.228-1.473-2.7-2.21-3.928-.736-1.227-4.173-1.227-5.4-.736-1.227.49 4.174 3.436 2.455 3.436-1.719 0-3.927-1.718-5.4-1.473-1.474.246-2.21 2.456-3.682 3.437-1.473.982-3.927.491-5.4.246-1.474-.246-2.21-3.437-2.7-4.664-.492-1.228 1.226-3.436 3.19-2.946 1.964.491 2.946-1.227 3.682-2.21.737-.981-.736-4.663.982-4.417 1.718.245 7.61-.982 10.556-1.718 2.945-.737 1.963-5.646 2.945-8.101.982-2.455 0-2.7-1.227-.737-1.227 1.965-4.42 4.174-5.892 4.91-1.472.736-1.963-1.718-1.963-2.7 0-.983-1.965.246-2.21-1.228-.245-1.473 4.664-3.19 5.891-3.927 1.228-.736 4.294-4.909 6.748-5.645 0 0 8.446 5.685 12.507 14.455 4.06 8.77 4.06 17.866 4.06 17.866zM84.503 92.293s-1.462-4.71-5.32-8.485c-1.894-1.853-.237-11.14-.474-13.984-.236-2.845-8.059-.949-10.903-2.845-2.845-1.897-2.133-7.822-.949-11.378 1.186-3.555 8.297-7.11 12.326-8.059 4.03-.948 9.245 4.03 11.614 4.742 2.37.71 10.65-2.673 12.546-4.331 0 0 1.787 15.43-3.735 26.799-4.807 9.897-15.105 17.54-15.105 17.54z" stroke="#007478" stroke-linecap="round" stroke-linejoin="round" fill="#C5E8E5" mask="url(#b)"/><mask id="d" fill="#fff"><use xlink:href="#c"/></mask><use stroke="#007478" stroke-width="2" xlink:href="#c"/><g transform="translate(66.014 25.964)" mask="url(#d)"><path d="M5.435 0A5.435 5.435 0 0 0 0 5.435c0 3.242 4.115 7.426 5.184 8.458a.36.36 0 0 0 .502 0c1.068-1.032 5.184-5.216 5.184-8.458A5.435 5.435 0 0 0 5.435 0z" fill="#007478"/><ellipse fill="#FFF" cx="5.435" cy="5.435" rx="1.812" ry="1.812"/></g><g transform="translate(8.587 27.645)" mask="url(#d)"><path d="M5.435 0A5.435 5.435 0 0 0 0 5.435c0 3.242 4.115 7.426 5.184 8.458a.36.36 0 0 0 .502 0c1.068-1.032 5.184-5.216 5.184-8.458A5.435 5.435 0 0 0 5.435 0z" fill="#007478"/><circle fill="#FFF" cx="5.435" cy="5.435" r="1.812"/></g><g transform="translate(41.92 61.884)" mask="url(#d)"><path d="M5.435 0A5.435 5.435 0 0 0 0 5.435c0 3.242 4.115 7.426 5.184 8.458a.36.36 0 0 0 .502 0c1.068-1.032 5.184-5.216 5.184-8.458A5.435 5.435 0 0 0 5.435 0z" fill="#007478"/><ellipse fill="#FFF" cx="5.435" cy="5.435" rx="1.812" ry="1.812"/></g></g></svg>


반응형

'Web Dev, HTML, CSS, SVG, BootStrap > Icon, 아이콘' 카테고리의 다른 글

SVG Icon  (0) 2018.05.17

심각한 오류 발생 2.Audio File 만들면서 스트리밍

C#/Capturing Audio
반응형

- NetworkStream 이 Seekable 이 아니라서, 일단 Wav File 로 쓰면서 동시에 스트리밍시도.


- 그러나 읽기 권한 실패.


- 아무래도 CSCore 를 이용한 Net Streaming 은 포기해야 할듯.

반응형

심각한 문제점 발생. Seekable Stream

C#/Capturing Audio
반응형

- CSCore 에서 WaveWriter 의 파라미터로 스트림을 입력하는 것이 가능하다.


- 그래서 NetworkStream 을 입력해보았다.


- 그러나 NetworkStream 은 Seekable Stream 아니라서 오류가 발생함.

반응형

엑셀 단축키, 선택영역 채우기

사무, 엑셀, Excel
반응형

1) 첫번째 Cell 에 채울값을 넣는다.


2) 범위를 선택한다.


3) 가로는 Ctrl + D, 세로는 Ctrl + R 를 누른다.

반응형