<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>E2e on 怠惰技術ブログ</title>
    <link>/tags/e2e/</link>
    <description>Recent content in E2e on 怠惰技術ブログ</description>
    <generator>Hugo -- 0.147.7</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 23 Feb 2026 21:30:00 +0900</lastBuildDate>
    <atom:link href="/tags/e2e/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>WSL2でExpo &#43; E2Eテスト（MaestroとDetox）を試みて完全に詰んだ話</title>
      <link>/posts/2026-02-23-fxxk-mobile-e2e-test/</link>
      <pubDate>Mon, 23 Feb 2026 21:30:00 +0900</pubDate>
      <guid>/posts/2026-02-23-fxxk-mobile-e2e-test/</guid>
      <description>&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;WSL2環境でExpo（React Native）のE2EテストをMaestroとDetoxで試みたが、どちらもWSL2とWindowsエミュレータの構造的な問題で動かなかった。&lt;/p&gt;
&lt;p&gt;かなり過言ではあるが、あえて感情的になるならば、Mobile開発においてMac以外は人権がない。というかあまりにもMac環境以外がだるすぎる。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;環境&#34;&gt;環境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;OS: Windows + WSL2（Ubuntu）&lt;/li&gt;
&lt;li&gt;Expo SDK 54 / React Native 0.81.5&lt;/li&gt;
&lt;li&gt;New Architecture有効&lt;/li&gt;
&lt;li&gt;Androidエミュレータ: Windows側で動作（Medium Phone API 36）&lt;/li&gt;
&lt;li&gt;ADB: Windows側のものをWSL2から参照&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;maestroを試みる&#34;&gt;Maestroを試みる&lt;/h2&gt;
&lt;h3 id=&#34;インストール&#34;&gt;インストール&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -Ls &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://get.maestro.mobile.dev&amp;#34;&lt;/span&gt; | bash
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;/.maestro/bin:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ここで最初の罠。&lt;code&gt;maestro --help&lt;/code&gt;を叩くとAI系の全く別のCLIツールが応答した。同名の別アプリが先にPATHに入っていたため。&lt;code&gt;$HOME/.maestro/bin&lt;/code&gt;をPATHの&lt;strong&gt;先頭&lt;/strong&gt;に置くことで解決。&lt;/p&gt;
&lt;h3 id=&#34;フローの準備&#34;&gt;フローの準備&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# .maestro/add_and_complete_task.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;appId&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;com.example.myapp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- &lt;span style=&#34;color:#ae81ff&#34;&gt;launchApp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- &lt;span style=&#34;color:#f92672&#34;&gt;tapOn&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;text&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;追加&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- &lt;span style=&#34;color:#f92672&#34;&gt;inputText&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;テストタスク&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- &lt;span style=&#34;color:#f92672&#34;&gt;tapOn&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;text&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;追加する&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- &lt;span style=&#34;color:#f92672&#34;&gt;assertVisible&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;text&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;NOW&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;実行して即死&#34;&gt;実行して即死&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;You have 0 devices connected, which is not enough to run 1 shards.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;エミュレータはWindows側で動いており、&lt;code&gt;adb devices&lt;/code&gt;には&lt;code&gt;emulator-5554&lt;/code&gt;が見えている。しかしMaestroはWSL2側でデバイスを探すため認識できない。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;--udid=emulator-5554&lt;/code&gt;を指定しても：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Device emulator-5554 was requested, but it is not connected.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;maestro start-device --platform=android&lt;/code&gt;を試みると：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
