본문 바로가기

728x90

전체 글

(56)
[베뉴 투어] 브라이튼 하우스 강남: 통창 채광과 화덕 피자가 매력적인 하우스 웨딩 상세 후기 하우스 웨딩을 준비하는 예비 부부들에게 가장 인기가 많은 베뉴 중 하나인 브라이튼 하우스 강남을 다녀왔습니다. 강남권에서 단독홀을 사용하면서도 야외 예식의 개방감을 동시에 느낄 수 있는 곳을 찾기란 쉽지 않은데, 이곳은 그 갈증을 채워주기에 충분한 공간이었습니다. 직접 상담을 통해 확인한 홀의 분위기와 식사 구성, 그리고 하객 동선까지 상세하게 정리해 보겠습니다.1. 화이트와 우드톤이 주는 정갈한 인테리어브라이튼 하우스 강남의 첫인상은 매우 깔끔하고 따뜻했습니다. 전체적인 인테리어가 화이트 벽면과 내추럴한 우드톤의 가구들로 구성되어 있어, 어떤 컬러의 꽃 장식을 매치해도 이질감 없이 잘 어우러진다는 장점이 있습니다.특히 신부 대기실부터 홀 내부까지 이어지는 톤앤매너가 일정하여 예식 전체의 통일감이 느껴졌..
Verification과 Validation의 차이점 정리 QA 이론 공부를 하다 보면 Verification과 Validation 2개 용어가 항상 헷갈렸다.이직 준비시 면접 질문에서 나올 때가 있는데 대비하기 위해 인터넷 검색을 통해 정리해보았다.Verification (확인)제품을 올바르게 만들고 있는가?명세된 대로 기술되었고 동작하는지 보는 것리뷰, 인스펙션, 워크스루, 동료검토, 단위/통합테스팅, 사용성, 시스템, 인수테스팅 등에서 개발중간산출물에 기술된 내용 자체가 맞는지를 보는 것이전단계에서 만들어진 산출물을 근거로 한 단계의 산출물을 검사하는 것Validation (검증)올바른 제품을 만들고 있는가?원래 사용자가 원한 대로 개발되었는지를 확인하는 것단위/통합테스팅, 사용성, 시스템, 인수테스팅 등에서 명세대로 되어 있어도 사용자가 실제로 원한 것이..
PyCharm 터미널 명령어로 파일 실행하기 (ModuleNotFoundError 해결) PyCharm에서 실행 버튼으로 실행할 때에는 코드가 정상적으로 동작하는데터미널 명령어로 실행시 실행이 되지 않는 경우가 있습니다. 에러 내용을 살펴보면 모듈을 찾지 못해서 발생하는데요. 이럴 때 사용하는 해결 방법이 있습니다.ModuleNotFoundError: No module named 실행 명령어 앞에 아래 명령어를 추가하는 방법으로 해결이 가능합니다.PYTHONPATH=$(pwd) 명령어는 현재 디렉터리의 경로를 PYTHONPATH 환경 변수에 설정하는 명령으로 해당 명령어 추가하여 사용시 현재 디렉터리에 있는 파이썬 패키지나 모듈을 import할 수 있게 되어 터미널 명령어로도 파일 실행이 가능합니다. PYTHONPATH=$(pwd) python test.py 간단한 명령어 1줄 추가하여 터..
Fail 발생시 테스트 중단하지 않고 이어서 진행하기 (pytest-check) 자동화 테스트 중 검증할 때 python 내장 함수인 assert를 많이 사용합니다.assert를 사용하는 경우 fail이 발생하면 바로 테스트를 중단하여 이후 테스트 검증에도 영향을 미치는 단점이 있습니다. assert의 단점을 보완하기 위해 Fail 발생해도 다음 테스트 함수의 영향을 미치지 않는 pytest-check plugin을 사용할 수 있습니다.pytest를 사용하는 경우 Web(Selenium), App(Appium) 모두 적용할 수 있습니다. pytest-check를 사용하면 조건이 실패해도 테스트를 중단하지 않고 계속 진행할 수 있습니다. (soft assertion)그로 인해 여러 검증을 한 번에 수행하고, 마지막에 실패 내역을 한 번에 확인할 수 있는 장점이 있습니다. pytest-..
Selenium -> Playwright로 코드 변환하기 웹 자동화 하면 가장 유명한 게 Selenium 입니다.최근에는 Playwright가 나오면서 자동화 구현시 많이 이용하시는데요. 기존에 Selenium 코드를 Playwright로 변환하기 위해서 Selenium에서 자주 사용하는 코드들을 변환하는 방법을 소개합니다. 1. find_element Selenium에서 클릭 등 엘리먼트를 찾을 때 사용하는 find_element는 Playwright에서 locator로 전환해 사용합니다.주의할 점은 Playwright에서는 css select 처럼 class일 때는 "."을 ID일때는 "#"을 붙여서 사용해야 합니다. Seleniumdriver.find_element(By.CLASS_NAME, '클래스명').click() Playwrightdriver.lo..
Appium 특정 앱 종료 후 다시 실행하기 앱 자동화 테스트를 구현할 때 보통 1개의 앱을 사용하지만 다른 앱을 같이 사용하는 경우도 발생합니다. (스킴 등)그럴 때 가끔 앱을 초기화 시켜줘야 하는 경우가 발생하는데 이 때 해당 코드를 사용하시면 됩니다. package_name을 변수로 따로 설정한 후 해당 함수를 호출합니다.import ospackage_name = "패키지명"# 앱 초기화 후 다시 실행 함수def app_reset(driver): os.system(f"adb shell pm clear {package_name}") driver.activate_app(package_name) 앱에 설치되어 있는 패키지명은 아래 명령어로 확인할 수 있습니다.adb shell pm list packages adb 명령어로 package ..
Playwright 페이지 새 탭으로 열릴 때 자동화 코드 동작하는 방법 웹 자동화를 구현하다 보면 페이지가 이동되는 경우는 상당히 많습니다. 그 중 클릭을 할 때 해당 페이지에서 이동하지 않고 새 탭으로 열리는 경우도 꽤 많은데요.탭 간 전환 함수들을 공통 함수로 구현해두면 편리하게 함수를 호출하여 사용할 수 있습니다. 저의 경우 함수는 새 탭으로 이동하는 함수와 해당 탭을 닫는 함수 2개로 구분하여 사용하였습니다. 먼저 새 탭으로 이동하는 함수입니다.새 탭으로 활성화 상태를 이동하여 새 탭에서 이후 자동화 코드가 동작되도록 구현하였습니다.1초 대기는 새 탭 이동 후 로딩 시간이 필요하다고 판단하여 추가하였으며 상황에 따라 초를 늘리는 것도 추천드립니다.def newtab(driver): driver.wait_for_timeout(1000) # 1초 대기 pag..
pytest 결과 요약을 차트 형태로 확인하기 (pytest-html-reporter) pytest-html 플러그인 사용시 텍스트 위주 형태로 문서가 나오는 걸 확인할 수 있습니다.해당 결과만으로도 깔끔하지만 좀 더 개선된 UI 형태로 확인할 수 있는 방법이 있는데 pytest-html-reporter 플러그인을 사용하는 방법입니다. pytest-html 처럼 동일하게 pytest-html-reporter 플러그인을 설치합니다. 실행 방법은 pytest-html과 비슷하게 추가 옵션 내용을 추가하면 됩니다. pytest "실행파일명" --html-report=./report 리포트 결과 파일명도 옵션에서 추가하여 변경이 가능합니다.파일명을 수정하지 않는 경우 기본 파일명은 "pytest_html_report.html"로 생성됩니다. pytest "실행파일명" --html-repor..

728x90