<?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>Posts on 0fuzimaru0 Blog</title>
    <link>https://0fuzimaru0.dev/posts/</link>
    <description>Recent content in Posts on 0fuzimaru0 Blog</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Sat, 18 Apr 2026 17:41:42 +0900</lastBuildDate>
    <atom:link href="https://0fuzimaru0.dev/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>最近よくやるE2E自動テストの作り方</title>
      <link>https://0fuzimaru0.dev/posts/create-e2e-test-for-web/</link>
      <pubDate>Sat, 18 Apr 2026 17:41:42 +0900</pubDate>
      <guid>https://0fuzimaru0.dev/posts/create-e2e-test-for-web/</guid>
      <description>&lt;h1 id=&#34;使うもの&#34;&gt;使うもの&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;playwright&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;biome&lt;/code&gt;（リンター兼フォーマッター）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tsgo&lt;/code&gt;（型チェック）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;valibot&lt;/code&gt;（スキーマ）&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;手順&#34;&gt;手順&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;環境のセットアップ
環境構築は割愛&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Playwrightで操作の録画を行う
&lt;code&gt;playwright codegen&lt;/code&gt;で録画環境を起動し、1シナリオ分のテスト動作を録画する
録画中に行った動作はPlaywrightコードとして生成されているのでこれを下書きにする&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;録画結果の修正
余分な動作や不安定そうなセレクターの手動修正を行う
複雑なセレクターが多い場合にはフロントの実装にdatatest-idを付与することも検討&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ひたすら実行
目標となる動きが完成するまでひたすら try &amp;amp; error
この時の失敗とその解消方法はClaudeでまとめさせてskillsとして保存しておく&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;他のシナリオにも着手
2と3の操作をシナリオの数分行う。
4の作業に入るまえに5で作成したskillsを走らせておく&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;コードベースを綺麗にする&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;テストデータや期待値のObjectに対して型を宣言し、静的型付けを進める&lt;/li&gt;
&lt;li&gt;decribeとtestを正しく使い分けを行う&lt;/li&gt;
&lt;li&gt;共通のヘルパー関数への切り出し&lt;/li&gt;
&lt;li&gt;fixtureの整理&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;7&#34;&gt;
&lt;li&gt;長期的な運用に耐えうるかチェック&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;新規のテストが追加しやすいか&lt;/li&gt;
&lt;li&gt;何度か実行してフレーキーテストになっていないか&lt;/li&gt;
&lt;li&gt;待機ステップの見直し（極力「1秒待機」などの待機ステップは避ける）&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://0fuzimaru0.dev/posts/first-post-test/</link>
      <pubDate>Thu, 16 Apr 2026 02:48:06 +0900</pubDate>
      <guid>https://0fuzimaru0.dev/posts/first-post-test/</guid>
      <description>&lt;h1 id=&#34;test-post&#34;&gt;test post&lt;/h1&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-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;import&lt;/span&gt; { &lt;span style=&#34;color:#a6e22e&#34;&gt;test&lt;/span&gt; } &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
