당신은 현재 두 가지 상황 중 하나를 처리하고 있습니다. 팀은 아직 매뉴얼 리그레션 패스를 실행하고 있기 때문에, 로그인, 체크아웃, 푸시 알림, 설정, 오프라인 복구와 같은 모든 것을 클릭하고 있습니다. 모든 사람들이 기다리면서. 또는 이미 테스트를 작성했지만, 그 테스트들은 약한, 느리고 실제 릴리스 위험과 연결되지 않은 것처럼 느껴집니다.
That’s where automated testing stops being an abstract QA term and starts becoming release infrastructure. For cross-platform teams, the stakes are even higher. You have web code moving fast, native bridges that can break in subtle ways, and sometimes a live update path that changes how quickly you can recover from mistakes. The useful question isn’t just what is automated testing. It’s which parts of your app should prove themselves automatically on every change, and which still need a human eye.
목차
- 자동화된 테스트란 무엇인가와 왜 그것이 중요하다는 것
- 자동화된 테스트 피라미드 이해
- 자동화된 테스트의 비즈니스 사례
- 자동화하고 수동으로 테스트하는 것을 선택하는 방법
- CI/CD PIPELINE에 자동화를 통합하는 방법
- Capacitor와 Electron 앱의 테스트 전략
- 자동화 테스트 피할 수 있는 일반적인 오류
자동화 테스트란 무엇이며 왜 중요합니까?
기존 릴리스 패턴은 다음과 같습니다. 제품은 오늘날 수정을 원합니다. 엔지니어는 변경이 작다고 말합니다. 그런 다음 alguien이 시작한 수동 체크리스트에서 발견한 auth 상태, WebView 경로, 분석 이벤트 및 하나의 네이티브 권한 흐름을 포함하여 "작은" 변경이 auth 상태, WebView 경로, 분석 이벤트 및 하나의 네이티브 권한 흐름을 포함합니다. 팀이 모든 것을 클릭하는 데 소요되는 시간이 반으로 줄어들 때까지, 팀은 결과에 대한 완전한 신뢰를 가질 수 없습니다.
팀은 종종 릴리스 검증이 실제 수정보다 오래 걸리게 되면, 자동화된 테스트란 무엇인지 물어보게 됩니다. : 자동화된 테스트는 반복적인 검사를 신뢰할 수 있는 __CAPGO_KEEP_0__-기반 검증으로 변환하는 방법입니다. 릴리스마다 동일한 흐름을 수동으로 확인하는 대신, 자동화된 테스트는 __CAPGO_KEEP_1__ 변경이 발생할 때마다 예상되는 동작을 검증합니다. 이로 인해 팀은 더 일찍 회귀를 발견하고 릴리스 결정이 일관된 feedback에 기반을 둔지 확인할 수 있습니다. 특히, 웹, 모바일 및 데스크톱 경험 모두에 영향을 미치는 하나의 공유 __CAPGO_KEEP_2__ 변경이 있을 때 더욱 유용합니다.: a way to turn repeated checks into reliable, code-driven validation. Instead of depending on someone to manually confirm the same flows every release, automated tests verify expected behavior whenever the code changes. This helps teams catch regressions earlier and keep release decisions grounded in consistent feedback. That becomes especially valuable for cross-platform apps where one shared code change can impact web, mobile, and desktop experiences at the same time.
자동화 테스트란 소프트웨어에 대한 정의된 검사를 실행하는 테스트를 작성하는 것입니다. 릴리스마다 동일한 단계를 수동으로 반복하는 대신, 자동화 테스트는 반복적인 검증을 인간의 체크리스트에서 __CAPGO_KEEP_0__으로 옮깁니다. __CAPGO_KEEP_1__은 함수, __CAPGO_KEEP_2__ 계약, 화면 전환 또는 전체 사용자 흐름을 검증할 수 있습니다. is the practice of writing tests that execute predefined checks against your software without someone manually repeating the same steps every release. In plain terms, you move repeated verification out of a human checklist and into code. That code can validate a function, an API contract, a screen transition, or a full user flow.
이것이 중요하다는 이유는 간단합니다. 릴리스 신뢰도가 기억 기반에서 시스템 기반으로 바뀌기 때문입니다. Testlio의 2025년 테스트 자동화 통계 요약에 따르면 테스트 자동화 통계 요약, 테스트 자동화 도구를 사용하여 버그를 더 빠르게 발견하는 70% 이상의 테스트 전문가가 있습니다.그리고 46%의 팀이 자동화가 50% 이상의 수동 테스트를 대체했다고 말합니다.. 이는 대부분의 엔지니어 팀이 이미 느끼는 바와 같습니다: 릴리스가 빈번해지면 수동 회귀 테스트가 확대되지 않습니다.
For Capacitor and Electron teams, that pressure shows up earlier because one codebase often serves multiple environments. A single change in shared JavaScript can affect iOS, Android, and desktop behavior differently. If your team is also trying to improve retention and release quality, it helps to connect test discipline with broader 실용적인 규칙:사람이 스프린트마다 동일한 검증을 반복해야 한다면, 팀은 적어도 그 검증이 자동화에 속하는지 여부를 물어야 합니다.
새로운 팀은 일반적으로 이 공간에서 리소스를 찾는 것이 도움이 됩니다. 기본적인 내용을 설명하는 짧은 안내서가 필요합니다. 도구에 대한 논쟁에 빠지지 않도록 합니다. __CAPGO_KEEP_0__
앱 사용자 경험 우선순위 자동화된 소프트웨어 테스트를 단순화하는 방법 자동화된 테스트를 도와서 엔지니어링과 제품이 첫 번째로 작성할 가치 있는 테스트에 맞춰지도록 할 수 있습니다.
자동화된 테스트 피라미드에 대한 이해
자동화된 테스트 피라미드가 있는 이유는 UI에서 시작하고 그곳에서 멈추지 않도록 방지하기 위해서입니다.
자동화된 테스트 피라미드

자동화된 테스트 피라미드의 구조
자동화된 테스트 피라미드의 가장 중요한 부분은 단위 테스트. These validate small pieces of logic in isolation. In a Capacitor app, that might be token refresh logic, date formatting, feature flag evaluation, or state transitions in a store. In an Electron app, it could be window state handling or a utility that transforms local data before sync.
자동화된 테스트 피라미드의 가장 중요한 부분은
자동화된 테스트 피라미드의 가장 중요한 부분은 통합 테스트이러한 테스트는 분리된 모듈이 올바르게 작동하는지 확인합니다. 예를 들어, 프론트 엔드가 API 클라이언트와 통신하는지, 로컬 퍼시스턴스 레이어가 앱 상태를 복원하는지, 네이티브 브리지 Wrapper가 예상한 값을 자바스크립트로 반환하는지 확인합니다.
그 다음에는 UI 또는 종단 간 테스트 위에 있습니다. 이들은 사용자가 애플리케이션 인터페이스에 대해 수행하는 동작을 시뮬레이션합니다. 그들은 하위 수준 테스트가 놓치고 있는 깨진 흐름을 잡아내는 강력한 힘을 가지고 있습니다. 그러나 그들은 느리고 더 취약하며 유지 관리 비용이 더 높습니다.
건강한 스택은 다음과 같은 형태를 보입니다:
| Layer | 최선의 경우 | 일반적인 예시 | 주요 트레이드 오프 |
|---|---|---|---|
| Unit | 빠른 논리 검증 | 도우미, 리듀서, 비즈니스 규칙 | 좁은 범위 |
| 통합 | 모듈 상호작용 | API + 상태 + 지속성 | 더 많은 설정 |
| UI/E2E | 실 사용자 여행 | 로그인, 구매, 온보딩 | 느린, 약한 |
피라미드의 꼭대기 부분이 작아지는 이유
팀은 UI 테스트에 과도하게 투자하는 경향이 있다. 그 테스트가 가장 실제적인 동작에 가까운 것처럼 느껴지기 때문이다. 그 직관은 이해할 수 있지만, 나중에 고통을 초래한다. UI 테스트 스위트는 선택자 변경, 로딩 시간, 애니메이션, 환경漂移으로 인해 깨지기 쉽다. 여전히 필요하지만, 모든 것에 대해 그렇지는 않다.
Qt의 자동 소프트웨어 테스트 이점 개요 자동화의 핵심 트레이드 오프를 명확하게 만드는 반복적인, 반복 가능한 검사, 반면 인간 테스트는 탐색적, 사용성 및 경계 사례 검증에 중요합니다. . 동일한 출처는 자동화가 테스트 사이클을 일에서 시간으로 줄이고 보증 범위를 향상할 수 있지만수동 테스트를 대체하지 않습니다. 피라미드의 상단을 비즈니스 крит적 흐름에 집중하세요. UI 자동화 예산을 사용하여 모든 버튼이 여전히 클릭될 수 있는지 증명하는 데 시간을 보내지 마십시오. 이미 논리적 검사를 이미 처리한 하위 수준 테스트가 이미 처리한 경우입니다..
모바일 팀에게는 이 점이 더 중요합니다. UI 표면이 여러 장치 및 운영 체제에 걸쳐 있기 때문입니다. 더 많은 신호를 내기 위해 신뢰할 수 없는 대규모 스위트보다 작은, 더 잘 선택된 E2E 스위트가 중요합니다.
자동화된 테스트의 비즈니스 사례
자동화 테스트의 비즈니스 가치
이 비즈니스 사례는 더 이상 변두리입니다.
이 사업 사례는 더 이상 경계선에 있지 않습니다. TestGrid의 소프트웨어 테스트 시장 개요 2025년 broader 소프트웨어 테스트 시장의 규모를 $48.17 억 달러로 추정했습니다. 그리고 2030년까지 $93.94 억 달러로 예상했습니다., 자동화 테스트만으로는 2025년 $29.29 억 달러로 추정되었으며, 2024년 $25.4 억 달러에서, 연평균 성장률 15.3%이다. 유용한 takeaway는 과대망상을 넘어선 것이 아니다. 자동화 테스트는 팀이 매주 느끼는 운영 문제를 해결하기 때문에 팀은 계속 투자하고 있다.

팀이 실제로 돌아오는 곳
첫 번째 돌아오는 곳은 릴리스 흐름에서 나타나며, 추상적인 품질 점수에서 나타나지 않습니다.
- 빠른 feedback: 개발자는 변경이 알려진 경로를 깨트린지 빠르게 알 수 있습니다.
- 적게 수동 반복: QA 및 엔지니어는 매 릴리스마다 동일한 회귀 스크립트를 다시 실행하지 않습니다.
- 적게 늦은 놀람: 버그는 스테이징 또는 프로덕션에 도착하기 전에 발견됩니다.
- 깨끗한 전달: 제품, QA 및 엔지니어는 동일한 아티팩트를 사용하여 실패를 논의할 수 있습니다.
또한 팀이 외로이 말하지 않는 morale 측면이 있습니다. 반복적인 수동 확인은 좋은 엔지니어를 피폐하게 만듭니다. 강력한 자동화는 진정한 위험을 진단하는 데 노력을 옮기기보다는 오래된 시나리오를 재연하는 데 노력을 옮기는 것입니다.
AUTOMATION ROI를 생각하는 방법
자동화하지 않고 스프레드시트에 가정을 채우지 마세요. 자동화하지 않으면 발생하는 비용으로 시작하세요.
직접 몇 가지 질문을 묻는 것이 좋습니다:
- 팀은 동일한 회귀 테스트를 얼마나 자주 다시 실행합니까?
- 팀이 동일한 회귀 검사를 다시 몇 번 실행합니까?
- 어떤 흐름이 실패하면 릴리즈를 차단합니까?
- 자동화 검사를 확인하기 위해 엔지니어링 시간이 얼마나 걸리나요?
릴리즈 후에 어떤 흐름이 깨지면 어떻게 되나요?
일반적으로 이러한 첫 번째 목표가 명확해집니다. 로그인, 결제, 동기화, 온보딩, 업데이트 전달, 설정 유지 등은 낮은 위험의 브로셔 화면보다 더 중요합니다. ROI를 계산하는 유용한 방법:
실패가 릴리즈를 지연시키거나 지원 부하를 유발하면 가능한 한 빨리 자동화 검사를 시작하세요.
좋은 ROI는 완벽한 커버리지를 추구하는 것이 아닙니다. 수익, 릴리즈 속도, 지원 부하를 보호하기 위해 자동화 검사를 시작하세요.
팀들은 종종 잘못된 도구를 선택한 것이 아니라, 먼저 잘못된 작업을 자동화한 때문입니다.
자동화의 올바른 시작점은 반복, 비즈니스 중요도, 안정성에 따라 테스트를_ranking_합니다. 매주 workflow가 변경된다면, 자동화는 churn이 될 것입니다. workflow가 안정적이고 수동으로 확인하는 비용이 비싸다면, 자동화는 보통 자체를償還합니다.

좋은 자동화 후보자
자동화 테스트란 자동화 테스트는 regression, 반복, 데이터 주도, 정밀도-sensitive 테스트에 강력합니다. 자동화 테스트는 self-contained 및 independent해야 하며, 실패가 더 쉽게 진단될 수 있습니다.이것은 실용적인 첫 번째 백로그로 번역됩니다. 중요 경로 흐름: 실패는 더 쉽게 진단할 수 있습니다.
실무적인 첫 번째 백로그로 번역됩니다.
- Critical path flows: 로그인, 로그아웃, 구매, 구독 복원, 계정 복구.
- 회귀 테스트: 기존에 깨진 기능이 영구적으로 보호가 필요한 기능.
- 데이터 주도 유효성 검사: 폼 규칙, 가격 논리, 지역화 형식, 계획 승인.
- 플랫폼 간 계약 테스트: JavaScript wrapper가 네이티브 플러그인을 호출하고 결과를 정규화하는 패턴.
For CapacitorJS와 Electron, 앱 레이어 사이의 접합부를 자동화하는 패턴이 특히 유용합니다. JavaScript가 네이티브 카메라, 파일 시스템, 푸시, 또는 깊이 링크 동작에 의존하는 경우, wrapper 계약 대신에 광범위한 UI 테스트에만 의존하지 말고 테스트를 작성하세요.
수동으로 유지해야 하는 작업
일부 테스트는 판단에 의존하기 때문에 오직 정확성만으로는 충분하지 않습니다.
- 탐색적 테스트: 스크립트된 경로가 예상치 못한 이상한 상호 작용을 찾는 작업.
- 사용성 검토: 실제 사용자가 혼란스럽게, 노이즈가 많거나 너무 느린지 여부를 확인합니다.
- 시각적 완성도: 간격, 애니메이션 느낌, 복사본 ton, 그리고 계층 구조.
- 일회성 조사: 자동화에 충분한 안정성을 제공하지 못하여 자동화에 대한 정당성을 부여할 수 없는 문제.
빠른 팀 결정을 도와주는 짧은 비교:
| 자동화에 우선순위를 두면 | 수동 테스트에 우선순위를 두면 |
|---|---|
| 반복되는 단계가 많을 때 | 발견의 목표가 있을 때 |
| 기대되는 결과가 명확할 때 | 결과는 판단에 달려 있습니다. |
| 흐름은 릴리즈를 막습니다. | 기능은 여전히 심하게 변하고 있습니다. |
| 테스트 데이터는 제어할 수 있습니다. | 시나리오는 ad hoc입니다. |
팀은 고위험 워크플로우에서 10개의 신뢰할 수 있는 테스트보다 100개의 흩어져 있는 검사에 대해 아무도 검토하지 않는 것보다 더 많은 가치를 얻습니다.
어디서도 의심을하지 않으면, 항상 알아야하는 것을 자동화하고, 아직 배워야하는 것을 수동으로 테스트하세요.
CI/CD PIPELINE에 자동화를 통합하기
자동화 자체는 유용합니다. 배달에 자동화된 자동화가 팀의 행동을 바꾸는 것입니다.
만약 테스트가 누군가가 시작하도록 기억하는 경우, 여전히 수동 프로세스에 추가 단계가 있습니다. 더 나은 패턴은 pull request, merge, nightly run, release candidate와 같은 자동화된 스위트를 트리거하는 것입니다. Capacitor와 Electron 팀의 경우, 일반적으로 GitHub Actions, GitLab CI, Jenkins, 또는 다른 pipeline runner와 함께 단위, 통합, E2E 단계별로 별도의 작업을 combining하는 것입니다.

테스트를 릴리즈 게이트로 변환하세요.
변경 사항이 발생할 때마다 시스템은 몇 가지 질문에 자동으로 답변해야 합니다:
- code 빌드가 깨끗하게 완료되었습니까?
- 빠른 테스트层가 통과되었습니까?
- 스테이징이 배포 가능한 아티팩트를 받았습니까?
- 생산 환경과 유사한 환경에서 높은 위험성의 흐름이 여전히 작동되었습니까?
AFIT 구현 안내서에서는 자동화가 생명주기인 계획, 개발, 실행, 분석으로 설명합니다. 실행은 데이터를 생성하고 분석은 지속적인 개선 루프에서 이상과 ROI를 식별하는 데 사용됩니다. 자세한 내용은 AFIT 자동화 소프트웨어 테스트 구현 안내서에서 확인할 수 있습니다. 이러한 사고방식이 필요합니다. pipe line은 단순히 테스트를 실행하는 장소가 아닙니다. 테스트 결과를 릴리즈 결정으로 변환하는 시스템입니다.
모바일 및 웹 자산을 함께 빌드하는 배달 워크플로우를 구축하고 있는 경우 최신 기업 애플리케이션 개발에 대한 실용적인 참고 자료 자동화 테스트는 왜 유용한 것일까요? 그것은 아키텍처, 배포-discipline 및 운영 신뢰성을 같은 대화에서 연결하기 때문입니다.
집중된 설정 지침 Capacitor CI/CD pipeline 자동화 CI/CD pipeline 자동화는 또한 앱 빌드, 웹 번들, 서명 및 배포 단계가 모두 일치해야 할 때 도움이 될 수 있습니다.
CI/CD flow의 실제 워크플로를 간단하게 설명해 보겠습니다.
시스템과 같이 측정하라
만약 테스트 스위트가 통과/실패만 보고한다면, 그것은 반쪽짜리 그림입니다. 팀은 또한:
- 실행 시간: 느린 테스트 스위트는 건너뛰게 됩니다.
- 통과 및 실패 패턴: 반복적인 실패는 환경 문제가 아닌 제품 버그를 나타낼 수 있습니다.
- 불안정한 테스트 비율: 불안정성이 신뢰를 더 빠르게 파괴한다는 것보다 낮은 테스트 커버리지가 더 중요합니다.
- 유지 보수 노력: 모든 UI 변경이 10개의 테스트를 깨트리면, 테스트 스위트 설계가 개선이 필요합니다.
건강한 질문은 "자동화가 있습니까?"가 아니라 "자동화가 배달 중에 신속하고 신뢰할 수 있는 신호를 제공합니까?"입니다.
Capacitor 및 Electron 앱에 대한 테스트 전략
크로스 플랫폼 앱은 스택이 어떻게 구성되었는지 존중하는 테스트 전략이 필요합니다. Capacitor 앱은 단순히 웹 앱이 아니며, 단순히 네이티브 앱도 아닙니다. Electron은 데스크톱에서 동일한 분할을 가집니다. 공유된 자바스크립트, 프레임워크 UI, 브리지 code, 패키징, 플랫폼 특정 동작이 하나의 릴리스 트레인에 있습니다.
그것이 의미하는 바는 일반적인 자동화 테스트의 hardest 부분을 놓치게 만드는 것입니다. 위험한 버그는 일반적으로 경계에 살고 있습니다.
실패 모드에 따라 스택을 분할하세요.
실용적인 전략은 실패 원인에 따라 테스트를 분리하는 것입니다.
위치: 공유된 비즈니스 로직단위 테스트를 사용하여, 예를 들어 Jest나 Vitest를 사용하세요. 이들은 유효성 검사 규칙, 허가 결정, 동기 충돌 처리, 기능 플래그, 로컬 데이터 변환과 같은 경우에 적합합니다.
For 모듈 상호작용자동화 테스트를 위해 API layer, 저장소 어댑터, 네이티브 wrapper 인터페이스 주변에 통합 테스트를 작성하세요. 만약 앱이 사용하는 @capacitor/preferences사용자 인터페이스 흐름
For , Playwright 또는 Cypress를 사용하여 WebView 중심 동작을 테스트하십시오. 실제로, 많은 팀이 좁은 범위의 E2E 스위트에서 최고의 가치를 얻습니다. 이 스위트는 다음과 같은 항목을 포함합니다:인증 경로:
- 새로운 로그인, 만료된 세션, 로그아웃, 비밀번호 재설정 진입점 오프라인 및 복구 흐름:
- 캐시된 상태, 재시도 동작, 재접속 논리 네비게이션-중요한 화면:
- Authentication paths: 온보딩, 체크아웃, 계정 설정
- 업데이트에 민감한 기능: 애플리케이션의 프론트엔드 릴리즈 후에 가장 쉽게 깨질 수 있는 화면
이러한-layered 접근법은 중요합니다. 테스트가 실패하면 어디서부터 시작해야 하는지 알려줍니다. 만약 모든 문제가 단일 E2E 테스트에서만 나타나면 디버깅이 느려집니다.
In cross-platform apps, test the contract at every boundary. Web-to-native boundaries and renderer-to-main-process boundaries create more release risk than ordinary component code.
라이브 업데이트가 테스트 우선순위를 어떻게 바꾸는지
플랫폼이 Live update 개념을 바꾸어 버립니다. 팀이 자바스크립트, CSS, 복사본, 설정, 및 자산 변경을 앱 스토어 리뷰 사이클 외부에서 배포할 수 있다면, 웹-layer regressions는 여전히 심각하지만, native-bound regressions와는 다릅니다.
그것은 의미가 없습니다. 그것은 의미를 재조정하는 것입니다.
네이티브 플러그인 변경, 권한 처리, 바이너리 구성, 및 앱 스토어에 제출된 code와 관련된 모든 항목은 롤백이 느리고 사용자 영향이 더 오래 지속되기 때문에 가장 심각한 전제 릴리즈 검토에 해당합니다. 웹-layer 변경은 여전히 자동화된 커버리지가 필요하지만, 팀은 롤백이 빠르다는 것을 알고 있으면 더 빠르게 움직일 수 있습니다.
팀이 live update 시스템을 사용하는 경우 Capgo__CAPGO_KEEP_0__ 시스템을 사용하는 경우, __CAPGO_KEEP_0__를 제출할 때
A Capacitor와 Electron 팀의 합리적인 분리는 다음과 같습니다.
- 제출 전: 자연적인 브릿지, 권한, 시작, 업데이트 호환성 및 핵심 여정에 대한 깊은 커버리지
- 웹 번들 출시 전: 공유된 UI 흐름과 업데이트 전달 동작에 대한 강력한 회귀 테스트
- 출시 후: 실제 환경과 유사한 조건에서 목표된 스모크 체크 및 로그 모니터링
이것은 모든 변경이 동일한 테스트 강도 필요로 하는 것처럼 가정하는 것보다 더 현실적인 모델입니다.
일반적인 자동화 함정 피하기
자동화 스위트를 프로젝트처럼 단 한번 끝내는 것은 가장 비싼 자동화 실수입니다. 좋은 스위트는 코드베이스와 유사하게 행동합니다. 소유권, 리팩토링 및 표준이 필요합니다.
유지 비용은 실제입니다. Cegeka의 테스트 자동화 함정에 대한 설명에서 설명한 것과 같습니다.UI 변경, brittle 선택자 및 outdated 테스트 로직이 flakiness 및 재작업을 발생시키는 automation의 가치가 사라집니다. 엔지니어들이 실패에 신뢰를 잃으면, 그들은 그들을 행동하지 않습니다.
A 몇 가지 패턴이 대부분의 고통을 유발합니다:
- Brittle 선택자: 테스트가 불안정한 DOM 세부 사항에 묶여 있으면 잘못된 이유로 깨집니다.
- coupled 시나리오: 하나의 테스트가 다음 하나를 깨트리는 상태를 남깁니다.
- 테스트 데이터 전략이 없습니다: 환경이 변하고, 시드된 사용자가 유효하지 않아지고, 실패가 복제하기 어려워집니다.
- ignored flake: 팀이 녹색까지 다시 실행하고, 신호를 무시하는 자신들을 훈련합니다.
- 자동화 테스트란? 너무 많은 광범위한 E2E 테스트가 없고, 낮은 수준의 검사가 충분하지 않습니다.
자동화는 제품과 함께 최신 상태를 유지하는 스위트만 도움이 됩니다. 오래된 테스트는 중립적이지 않습니다. 그들은 릴리스 시간을浪費하는 데 적극적으로 참여합니다.
The teams that succeed are disciplined about pruning. They delete low-value tests, stabilize high-value ones, and review failures quickly. They also write tests with the same standards they apply to production code: clear assertions, isolated setup, reusable helpers, and explicit ownership.
웹 레이어 회귀를 빠르게 복구하고 싶다면 Capacitor 또는 Electron 팀이 있습니다. Capgo __CAPGO_KEEP_0__
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ Capgo Capgo Capgo Capgo 제품 워크플로우에서 Capgo 네이티브 빌드에 대해 Capgo 통합 Capgo 제품 워크플로우에서 Capgo 통합에 대해 CI/CD 통합 CI/CD 통합에 대한 구현 세부 정보에서 __CAPGO_KEEP_0__ GitHub 액션 통합 CI/CD 통합에 대한 구현 세부 정보에서 GitHub 액션 통합에 대해