Giter Club home page Giter Club logo

webautomatedtest's Introduction

webautomatedtest's People

Contributors

yjbae-ww avatar

Watchers

 avatar

webautomatedtest's Issues

Andorid : 앱 구별법 (Native/Hybrid/Mobile web/Web app)

  1. Native
    • 안드로이드 플랫폼에서 사용되는 기본적인 프로그래밍 언어 및 개발 툴을 사용하여 개발 (Java,Kotlin)
    • 하드웨어 기능에 직접 접근 가능하여 높은 성능 제공
    • 개발 및 유지보수 비용이 높을 수 있음
  2. Hybrid
    • 웹 기술(HTML, CSS, JavaScript)을 사용하여 개발되고, 이를 안드로이드 앱으로 패키징
    • 여러 플랫폼에서 재사용
    • 개발 및 유지보수 비용이 낮을 수 있음
  3. Mobile web (*웹사이트를 모바일 장치에서 접근시 사용)
    • 웹사이트를 모바일 장치에서 접근할 수 있도록 최적화된 웹사이트
    • 다양한 장치 및 브라우저에서 동작
    • 오프라인 작동 및 하드웨어 기능에 제한
  4. Web App (*브라우저를 통해 접근하지만, 앱과 유사한 경험 제공)
    • 안드로이드 플랫폼에서 실행되는 웹사이트
    • 특정 기능에 접근할 수 있으며, 네이티브 앱과 유사한 기능을 제공
    • 성능 및 사용자 경험이 네이티브 앱보다는 낮을 수 있음

참조

하이브리드/네이티브 구별법
앱 개발 방식

Keyword : Docker & Kubernetes

*물리적인 서버 : 실제 컴퓨터의 하드웨어
*가상화 : 하나의 물리적인 서버를 여러 개의 가상 서버로 나누는 기술
*VMware : 가상화 솔루션을 제공
*Docker : 프로그램과 실행 환경을 컨테이너로 패키징하여 휴대성을 높이는 기술
*Container : Docker로 만들어진 프로그램과 실행에 필요한 모든 것을 포함한 패키지
*Kubernetes : Docker Container를 효율적으로 관리하고 배포하는 Container Orchestration 툴
*Container Orchestration : 여러 대의 컴퓨터에 분산된 컨테이너들을 자동으로 관리하고 제어하는 도구

Android : Emulator

갤럭시 S 시리즈 Emulator에 추가

  • 안드로이드 스튜디오 설치 (필수)
  • 삼성닷컴 가입 (필수)
  1. 삼성 개발자센터 에서 접속하여 원하는 Emulator Skin 다운
  2. 다운로드 경로 찾기 (아래 참조)
C:\Program Files\Android\Android Studio\plugins\android\resources\device-art-resources
  1. 안드로이드 스튜디오 실행 후 Virtual Device 추가
  2. New Hardware Profile 선택
  3. DeveiceName, Resolution 사양에 맞게 수정 후 Finsish 버튼 클릭
  4. 생성된 device 클릭하여 System image와 Verify Configuration을 추가로 다운받은 skin 경로를 연결하여 설정해주기

*자세한 방법은 아래 하단 참조 또는 갤럭시 추가하기를 참조

Emulator 목록 확인

emulator -list-avds

Emulator 실행

cd C:\Users\사용자\AppData\Local\Android\Sdk\emulator
emulator -avd 애뮬레이터 이름

Emulator 바로가기 만들기

메모장 > 내용 넣기 > 파일 이름 "파일이름.bat" 저장하기

  • 내용
cd C:\Users\사용자\AppData\Local\Android\Sdk\emulator
emulator -avd 애뮬레이터 이름

Emulator : APK 실행

설치

adb install "app이름".apk

Emulator 실행 확인

adb devices

참조

안드로이드 스튜디오 에뮬레이터 : 갤럭시 추가하기
Emulator 실행 방법
Emulator cmd 명령어

Checkmate : App & adb shell

App 실행시

  • DeviceConnector exe 파일 설치 필요 (Device 연동할려면)

에이전트 ip 추가

127.0.0.1:7788

-> wifi ip로 잡히지가 않음...;;

무선 wifi 로 실행시 (Android 11 미만)

  1. 임의 서버 포트 설정
adb tcpip 7777
  1. 무선 wifi 연결
adb connect 192.xxx.xx.xxx : 7777
  1. 접속 안될시
adb kill-server

무선 wifi 실행 (Android 11 이상)

개발자 옵션 > 무선 디버깅 옵션 활성화 > 페어링 코드로 장치 페어링

*ip주소:포트 번호는 페어링할때 나와 있는 ip주소 & 포트

adb pair ip주소:포트번호

*adb 연결 (실제 wifi 주소와 포트)

adb connect ip주소:포트 번호

폰 미러링 & 화면 연결

  • ADB Keyboard 연결
  • 일반 > 기본 키보드 및 추가 키보드 설정 > ADB Keyboard 설정

adb shell 참조

*꺼져 있는 화면 깨우기

adb shell input keyevent KEYCODE_WAKEUP

*데이터 & 캐쉬 제거

adb shell pm clear 패키지

*앱 제거

adb shell am kill 패키지

*app force stop

  • process가 killed되고, package의 stop이 true로 변경됨
  • package의 stop 상태가 true일 때, app은 broadcast를 받을 수 없음
adb shell am force-stop 패키지

*참조: grep 키워드 사용x, 디바이스 상태 변경 명령어 사용x (https://iw90.tistory.com/345)

*AppPackage & AppActivity 값 확인

1.cmd 창 입력

adb shell dumpsys window | find "mCurrentFocus"

2.결과

mCurrentFocus=Window{xxxxx u0 AppPackage/AppActivity}

참조 사이트

모바일 제스처
Android 디버그 브리지(adb)
ADB를 통한 Android 화면 제어
adb command
무선 wifi 디버깅 참조
Andorid 11 이상 무선 wifi 연동
adb 명령어

Tool : Automate Test

  • selenium : 웹 애플리케이션을 테스트 하는 Tool
  • selenium grid : 여러 대의 컴퓨터에서 동시에 웹 애플리케이션을 테스트 하는 Tool (마스터-노드)
  • Appium : 모바일 자동화 테스트 Tool
  • Katalon : web ui 자동화 테스트 (Groovy)

Appium : opencv4nodejs (install & issue)

Book Review : 파이썬 자동화 (240215)

책 리뷰

추천

  • 사장님 몰래하는 파이썬 업무 자동화, IT 비전공자를 위한 파이썬 업무 자동화(RPA)

image
사장님 몰래하는 파이썬 업무 자동화
장점: 기능별로 정리되어 있어서, 사전처럼 보기가 좋다
단점: 주석이 빨간색이고, 눈에 잘 안들어온다.

image
IT 비전공자를 위한 파이썬 업무 자동화(RPA)
장점 : 기초책, 이미지 위주에 보기가 편하다

image
사무직 칼퇴 필수 기술 : 파이썬 업무 자동화
장단점 : 난이도가 초중급 / 개발자 위주

image
일잘러의 비밀, 엑셀 대신 파이썬으로 업무 자동화하기
장점: 비전공자위주의 기초 서적

Appium & Katalon : guide

Python : 라이브러리 & 패키지 참조

파이썬 라이브러리

selenium

웹 애플리케이션을 테스트하기 위한 자동화 도구로 널리 사용되는 라이브러리

  • 웹 브라우저를 제어하여 웹 페이지를 자동으로 조작하고 테스트
    pip install selenium
    

beautifulsoup4

HTML 및 XML 문서를 파싱하고 탐색하기 위한 파이썬 라이브러리

  • 웹 스크래핑 작업에서 사용
    pip install beautifulsoup4
    

chromedriver-autoinstaller

Selenium 웹 드라이버를 사용하여 웹 브라우저 자동화를 위해 Chrome WebDriver를 설치하고 업데이트하는 데 도와주는 파이썬 라이브러리

pip install chromedriver-autoinstaller

ddt

"Data-Driven Tests"를 위한 파이썬 라이브러리

  • 단일 테스트 케이스를 여러 데이터 세트로 실행하여 테스트의 반복성을 향상

    pip install ddt
    

openpyxl

엑셀 파일 읽기

pip install openpyxl

pyperclip

클립보드(clipboard)에 접근하여 텍스트를 복사하거나 붙여넣기하는 기능을 제공하는 파이썬 라이브러리

pip install pyperclip

hyperframe

HTTP/2 프로토콜을 위한 프레임 처리하는 파이썬 라이브러리

pip install hyperframe

pandas

데이터 조작과 분석을 위한 파이썬 라이브러리

pip install pandas

pillow

이미지 처리하는 파이썬 라이브러리

  • 이미지를 로드하고 저장하며, 크기를 조정하고 회전시키며, 필터링하고 효과를 적용하는 등 다양한 이미지 처리 작업을 수행

    pip install pillow
    

requests

간편한 API를 제공하여 HTTP 요청을 보내고, 응답을 받아오고, 데이터를 처리하는 파이썬 라이브러리

  • 정적인 웹 페이지의 데이터를 가져오고 처리하는 데 주로 사용
    pip install requests
    

pdfkit

HTML을 PDF로 변환하는 데 사용되는 파이썬 라이브러리

  • 웹페이지를 렌더링하고, 이를 PDF로 변환하는 과정을 담당
    pip install pdfkit
    
  • 사용시 wkhtmltopdf을 설치해서 경로를 설정해주어야 함
  • wkhtmltopdf download
  • 설치된 경로 (default) : C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe

pyautogui

마우스/ 키보드 조작 하는 파이썬 라이브러리

pip install pyautogui

opencv-python

실시간 컴퓨터 비전을 위한 파이썬 라이브러리
*컴퓨터 비전 (이미지 및 비디오 처리, 객체 감지 및 추적, 얼굴 인식, 기계 학습 등을 수행)

  • 임계값을 조정하는 confidence사용시에 라이브러리가 필요함
    pip install opencv-python
    

라이브러리 가이드 참조 링크

Pandas 사용법

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.