{"id":6543,"date":"2022-03-11T14:56:35","date_gmt":"2022-03-11T05:56:35","guid":{"rendered":"https:\/\/blog.jansnap.com\/?p=6543"},"modified":"2022-03-24T16:21:41","modified_gmt":"2022-03-24T07:21:41","slug":"macos-monterey%e3%81%abplaywrightnode-js%e7%89%88%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/blog.jansnap.com\/?p=6543","title":{"rendered":"macOS Monterey\u306bPlayWright(Node.js\u7248)\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%A6%82%E8%A6%81\"><\/span>\u6982\u8981<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>PlayWright\u306fE2E\u30c6\u30b9\u30c8\u30c4\u30fc\u30eb\u3067\u3059\u3002\u30d6\u30e9\u30a6\u30b6\u304b\u3089\u306e\u64cd\u4f5c\u3092\u64ec\u4f3c\u3063\u3066\u52d5\u4f5c\u78ba\u8a8d\u3092\u3059\u308b\u306e\u306b\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306f\u3001\u7d20\u306eMacBook Pro\u3001macOS Monterery \u30d0\u30fc\u30b8\u30e7\u30f3 12.2.1 (21D62) \u306bPlayWright\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002docker\u30b3\u30f3\u30c6\u30ca\u306b\u5165\u308c\u305f\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u30b3\u30f3\u30c6\u30ca\u5916\u306e\u30d6\u30e9\u30a6\u30b6\u3068\u3084\u308a\u53d6\u308a\u3059\u308b\u65b9\u6cd5\u304c\u5206\u304b\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u76f4\u63a5macOS\u306b\u5165\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Homebrew%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span>Homebrew\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u30d1\u30c3\u30b1\u30fc\u30b8\u7ba1\u7406\u30c4\u30fc\u30eb\u306eHomebrew\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\u516c\u5f0f\u30b5\u30a4\u30c8\u306f<a href=\"https:\/\/brew.sh\/\">\u3053\u3061\u3089<\/a>\u3002<\/p>\n\n\n\n<p>\u30b5\u30a4\u30c8\u306b\u3088\u3063\u3066\u306fruby\u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u65b9\u6cd5\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u516c\u5f0f\u30b5\u30a4\u30c8\u306e\u901a\u308a\u306bcurl\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ \/bin\/bash -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)\"<\/code><\/pre>\n\n\n\n<p>sudo\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u805e\u304b\u308c\u308b\u306e\u3067\u3001\u5165\u529b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>Homebrew\u306e\u52d5\u4f5c\u78ba\u8a8d\u3092\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ brew doctor<\/code><\/pre>\n\n\n\n<p>Warning\u304c\u51fa\u307e\u3059\u304c\u3001\u958b\u767a\u8005\u5411\u3051\u306a\u306e\u3067\u6c17\u306b\u3057\u306a\u3044\u3067\u3044\u3044\u3068\u306e\u4e8b\u3067\u3059\u3002\u8a66\u3057\u306bsoftwareupdate\u3057\u3066\u307f\u3066\u3082\u3001\u5bfe\u8c61\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3044\u306a\u3044\u306e\u3067\u5148\u306b\u9032\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Please note that these warnings are just used to help the Homebrew maintainers<br>with debugging if you file an issue. If everything you use Homebrew for is<br>working fine: please don\u2019t worry or file an issue; just ignore this. Thanks!<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Nodebrew%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span>Nodebrew\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>node.js\u306e\u74b0\u5883\u7ba1\u7406\u30c4\u30fc\u30eb\u306eNodebrew\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ brew install nodebrew<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Nodejs%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span>Node.js\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Node.js\u306e\u6700\u65b0\u7248\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\u300ccurl: (23) Failure writing output to destination\u300d\u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u306e\u3067\u3001\u5148\u306b\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u3063\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ mkdir -p ~\/.nodebrew\/src<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ nodebrew install-binary latest<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9Fnode%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%A2%BA%E8%AA%8D%E3%81%A8%E6%9C%89%E5%8A%B9%E5%8C%96\"><\/span>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305fnode\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u78ba\u8a8d\u3068\u6709\u52b9\u5316<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><code>nodebrew list<\/code>\u3067\u30d0\u30fc\u30b8\u30e7\u30f3\u78ba\u8a8d\u3057\u3001\u305d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ nodebrew use v17.7.1<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"node%E3%82%84npm%E3%81%AB%E3%83%91%E3%82%B9%E3%82%92%E9%80%9A%E3%81%99\"><\/span>node\u3084npm\u306b\u30d1\u30b9\u3092\u901a\u3059<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo $SHELL<\/code><\/pre>\n\n\n\n<p>\u3046\u3061\u306eMac\u306fzsh\u3067\u3057\u305f\u306e\u3067\u3001~\/.zshrc\u306b\u30d1\u30b9\u3092\u8ffd\u52a0\u3057\u3066\u53cd\u6620\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo 'export PATH=$PATH:$HOME\/.nodebrew\/current\/bin' >> ~\/.zshrc<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ source ~\/.zshrc<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"PlayWright%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span>PlayWright\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>npm\u3067PlayWright\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ npm install playwright<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D\"><\/span>\u52d5\u4f5c\u78ba\u8a8d<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u300c<a href=\"https:\/\/playwright.dev\/docs\/intro\">Getting started<\/a>\u300d\u3092\u898b\u306a\u304c\u3089\u3001\u30b5\u30f3\u30d7\u30eb\u306e\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\"># create project directory\nmkdir -p ~\/dev\/sample-pj-1\ncd ~\/dev\/sample-pj-1\n# Run from your project's root directory\nnpm init playwright\n# Or create a new project\nnpm init playwright new-project\n# test\nnpx playwright test --headed\n# show result with browser\nnpx playwright show-report<\/code><\/pre>\n\n\n\n<p>\u30c6\u30b9\u30c8\u7d50\u679c\u3092\u30d6\u30e9\u30a6\u30b6\u3067\u898b\u308b\u4e8b\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"657\" src=\"https:\/\/blog.jansnap.com\/wp-content\/uploads\/2022\/03\/ScreenShot-2022-03-11-14.47.53-1024x657.png\" alt=\"\" class=\"wp-image-6555\" srcset=\"https:\/\/blog.jansnap.com\/wp-content\/uploads\/2022\/03\/ScreenShot-2022-03-11-14.47.53-1024x657.png 1024w, https:\/\/blog.jansnap.com\/wp-content\/uploads\/2022\/03\/ScreenShot-2022-03-11-14.47.53-300x192.png 300w, https:\/\/blog.jansnap.com\/wp-content\/uploads\/2022\/03\/ScreenShot-2022-03-11-14.47.53-768x493.png 768w, https:\/\/blog.jansnap.com\/wp-content\/uploads\/2022\/03\/ScreenShot-2022-03-11-14.47.53-1536x985.png 1536w, https:\/\/blog.jansnap.com\/wp-content\/uploads\/2022\/03\/ScreenShot-2022-03-11-14.47.53-2048x1314.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>\u30b5\u30f3\u30d7\u30eb\u306e\u30c6\u30b9\u30c8\u306e\u7d50\u679c<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PlayWright(Node.js\u7248)\u3092macOS Monterey\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"author":1,"featured_media":6610,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4288,4339,4340,4289],"tags":[4285,4343,4341,4342,4344,4286],"class_list":["post-6543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-e2e","category-macos","category-node-js","category-playwright","tag-e2e","tag-homebrew","tag-macos","tag-node-js","tag-nodebrew","tag-playwright"],"_links":{"self":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts\/6543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6543"}],"version-history":[{"count":20,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts\/6543\/revisions"}],"predecessor-version":[{"id":6614,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts\/6543\/revisions\/6614"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/media\/6610"}],"wp:attachment":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}