- Published on
๐ 2023๋ 8์ ํ๊ณ
- Authors

- Name
- ์ต์์ค (Youngjun Choi)
- launchApp
- assertVisible: Search and Explore
2.์๋ํ ๋ช
๋ น์ด
flashlight test --bundleId com.twitter.android \ // ์คํํ ์ฑ์ bundle Id --testCommand "maestro test twitter.yaml" \ // ์คํํ e2e yaml ํ์ผ --duration 10000 \ // ์ธก์ ์๊ฐ --resultsFilePath results.json // ๊ฒฐ๊ณผ ๋ณด๊ณ ์๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์
\*\* ์ฑ์ bundle Id๋ `npx @perf-profiler/profiler getCurrentApp` ๋ฅผ ํตํด์ ๊ตฌํ ์ ์๋ค.
3.๊ฒฐ๊ณผ ๋ณด๊ธฐ
flashlight report results.json
์๋ํ ๋ฐฉ์์ ๋ณด๋ฉด์ ์ข ๋ ๊ฐ๊ดํ๋ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์๊ณ e2e ํ
์คํธ๋ฅผ ํ์ฅํจ์ผ๋ก์จ ๊ฐ ์คํฌ๋ฆฐ์ ๋ํ ์ฑ๋ฅ์ ๋ ์ ์ธก์ ํ ์ ์์ง ์์๊น๋ ๊ธฐ๋๊ฐ์ด ์๊ฒผ๋ค.
#### 4. CI์ ์ฐ๋
์์ ์๋ํ script๋ฅผ AWS Device Farm์ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๊ฐ์ ํ๊ฒฝ๊ณผ์ ์ฐ๊ฒฐ ๊ธฐ๋ฅ์ ์๊ฐํ๋ค. ์ด๋ฅผ ํตํด์ ํ๋ก์ ํธ์ CI๊ณผ์ ์์ ์ฑ๋ฅ ์ธก์ ์ ์๋ํ ํจ์ผ๋ก์จ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฆฌํฌํ
์ ๋ฐ์ ์ ์์ง ์์๊น ๊ธฐ๋๊ฐ๋ ์๊ฒผ๋ค.
#### 5. Cloud ํ๊ฒฝ
๋ง์ง๋ง apk๋ฅผ ์ฌ๋ฆฌ๊ณ ์ํ๋ e2eํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํด์ ์ฑ๋ฅ์ ๊ฐ์ํ๊ฒฝ์์ ์ธก์ ํด์ฃผ๋ ์์ฒด ์๋น์ค๋ฅผ ์๊ฐํ๋ค.
์ฌ์ดํธ ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ ์ฑ๋ฅ ์ธก์ ์ด ๋๋๊ฒ ๋๋ฉด ์ด๋ฉ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ ์๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์์์ผ๋ก ๋ํ๋๋ค.
FPS, RAM/CPU ์ฌ์ฉ๋ ๋ฑ์ด ๊ทธ๋ํ๋ก ๋ํ๋์ง๋ฉฐ ์์๊ณผ ํจ๊ป ์ฐ๋๋์ด ์์ด ์ด๋ ์ง์ ์์ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฌ์ฉ๋๋ ์ง ๋ฑ์ ํ๋์ ๋ณผ ์ ์๋ค.
[Cloud ์ธก์ ์ฌ์ดํธ](https://app.flashlight.dev/)
<img src="https://github.com/choi2021/choi2021.github.io/assets/80830981/a727c5ed-1bb8-45ef-bcc5-945929008d4c" width="800"/>
[๋น์ ๊ณต์ ํ๋ ์ฐ๋ฆฌ ์ฑ์ ์ธก์ ๊ฒฐ๊ณผ]
<table>
<tr>
<th>์ ์ฒด ์ ์</th>
</tr>
<tr>
<td>
<img src="https://github.com/choi2021/choi2021.github.io/assets/80830981/e0eea30c-05b9-4c5a-8da4-6c932e6341a2" width="800" />
</td>
</tr>
<tr>
<th>FPS</th>
</tr>
<tr>
<td><img src="https://github.com/choi2021/choi2021.github.io/assets/80830981/c2a00cf1-52a2-4d48-9a7a-602e105c4cfc" width="800" />
</td>
</tr>
<tr>
<th>CPU ์ฌ์ฉ๋</th>
</tr>
<tr>
<td><img src="https://github.com/choi2021/choi2021.github.io/assets/80830981/d6231d9e-9712-4dd3-9972-1d03568dadb8" width="800" />
</td>
</tr>
<tr>
<th>์ค๋ ๋ ๋ณ CPU ์ฌ์ฉ๋</th>
</tr>
<tr>
<td><img src="https://github.com/choi2021/choi2021.github.io/assets/80830981/ccb10691-fdcf-4577-b7fe-c442c6e5b707" width="800" />
</td>
</tr>
<tr>
<th>RAM ์ฌ์ฉ๋</th>
</tr>
<tr>
<td><img src="https://github.com/choi2021/choi2021.github.io/assets/80830981/f0d89756-9649-43f8-bf46-8c0fdcedb066" width="800" />
</td>
</tr>
</table>
์ฌ์์ด ์์ฃผ ๋ฎ์ ๊ธฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ์ ์๋ ๋ฎ์ง๋ง ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ๋์๋์ง๋ฅผ ๋ณด๋๋ฐ ์ฌ์ฉํ ์ ์์ ๊ฒ ๊ฐ์ ๋ณด์๋ค.
๋ฐํ๋ด์ฉ์ ๋ํด์ ์ฑํฐ์ ๋ถ๋ค์ด ๊ธ์ ์ ์ผ๋ก ๋ค์ด์ฃผ์
จ๊ณ ์ฑ๋ฅ ๊ฐ์ ์
๋ฌด๋ฅผ ๋งก์ ์ฑํฐ์ ๋ถ๋ค๊ป์ ์ง์ ์ข ๋ ์กฐ์ฌํ์๊ณ flash light๋ฅผ ์ด์ฉํด ์ฑ๋ฅ ์ธก์ ํ๋ ์ผ๊ฐ์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉ๋๊ณ ์๋ค. ์กฐ์ฌํ ๋ด์ฉ์ด ์ค์ ๋ก ์๋ฏธ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ผ๋๋ฐ ๋์์ด ๋๊ณ ์๋ค๋ ์ ์ ๊ธฐ๋ปค๊ณ ๊ณ์ํด์ ๊ธฐ์ ์ธ์
๋ค์ ๋ํด ๊ด์ฌ์ ๊ฐ๊ฒ ๋๋ ์ข์ ๊ณ๊ธฐ๊ฐ ๋์๋ค.
### ๋ง์น๋ฉฐ
8์ ํ๋ฌ์ ์ฑํฐ์
๋ฌด๊ฐ ์ฃผ๋ก ๋์๋ ๋งํผ ๊ธฐ๋ฅ์ ์๋กญ๊ฒ ๊ฐ๋ฐํ๋ ์์
์ ์ ์๋ค. ์ฑํฐ์ ๊ธฐ์ฌํ๋ ์์
์ ํ๋ค๋ ๊ฒ์ ์ฆ๊ฑฐ์ ์ง๋ง ์๋ฌ์ ์์ธ์ฒ๋ฆฌ๋ฅผ ์ํด์ ๊ธฐ์กด์ ์์ฌ์๋ ๋ก๊ทธ๋ค์ ๋ณด๋ฉฐ ์ฑ์ด ๊ฐ์ ๋ก ์ข
๋ฃ๋๊ฑฐ๋ ํ์ดํธ์คํฌ๋ฆฐ์ด ์ ๋จ๋์ง ์ฌํํ๊ธฐ ์ด๋ ค์ ํ๋ฃจ ์ข
์ผ ๋ก๊ทธ๋ค๋ง ๋ณด๋ค๊ฐ ์ง๋๊ฐ๊ธฐ๋ ํ๊ณ , ํ์ํ ๋ก๊ทธ๋ฅผ ๋ถ๋ฅํ๊ธฐ๋ณด๋ค ๋ถํ์ํ๊ฒ ์์ด๊ณ ์๋ ๋ก๊ทธ๋ค์ ๋จผ์ ์ ๊ฑฐํ๊ฒ ๋๊ธฐ๋ ํ๋ฉด์ ์งํ ๋ฐฉํฅ์ด ์ค๊ฐ์ค๊ฐ ๋ฐ๋๊ธฐ๋ ํ๋ค. ์๊ฐ ์๊ฐ ํ๋ฃจ๋ฅผ ๋์๋ณด๋ฉด์ `๋ด๊ฐ ์๋ฏธ์๋ ์์
์ ํ๋ ๊ฑธ๊น, ๋ด๊ฐ ์๋ชปํ๊ณ ์๋ ๊ฒ์ ์๋๊น` ๊ณ ๋ฏผ์ด ๋๊ธฐ๋ ํ์ง๋ง ์ฑํฐ์๋ค์ ๊ฒฉ๋ ค์ ํ์ ๋ฐ์ ์งํํ๋ ํ๋ฌ์ด์๋ค.
์๋ฌ/ ์์ธ์ฒ๋ฆฌ๋ผ๋ ์ผ์ด ๋น์ฅ ๋์ ๋ณด์ด๋ ์ฑ๊ณผ๊ฐ ์ ์ ์ผ์ด์ง๋ง ๋ด๊ฐ ํ๋ ์์
์ ํตํด์ ๋๊ตฐ๊ฐ ๊ฒช๊ณ ์๋ ์๋ฌ๋ค์ ๋ง์ผ๋ฉด์ ์์ ์ฑ์ ๋์ฌ ๋ ๋ง์ ์ฌ๋๋ค์ด ํธํ๊ฒ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํ๊ณ ๋ ํ๋ด์ ์งํํด๋ณด๊ณ ์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ํผ์์ ๋๋๋๊ธฐ ๋ณด๋ค ๊ฐ ๋๋ฉ์ธ์ ์ ์์๋ ๋ถ๋ค๊ป ์ ๊ทน์ ์ผ๋ก ๋์์ ์ฒญํจ์ผ๋ก์จ ๋ ํจ์จ์ ์ผ๋ก ์ผํด 9์๊น์ง 3๋ถ๊ธฐ๋ฅผ ์ ๋ง๋ฌด๋ฆฌํด๋ณด๋ คํ๋ค.