LoginSignup
2
0

More than 5 years have passed since last update.

PuppeteerでWordPressのインストールを実行した

Last updated at Posted at 2018-08-13

WordPressの環境作成をCIする場合に、一応セットアップまで見ておくかというときに。

Puppeteerをインストール

$ yarn install puppeteer

Puppeteerスクリプト

Passwordの入力周りがJavascriptなので、waitをしておくのが無難だった。

wpsetup.js
const puppeteer = require('puppeteer');

(async () => {
  try {
    const browser = await puppeteer.launch({
      // headless: false, // デバッグ用
      ignoreHTTPSErrors: true
    });
    const page = await browser.newPage();
    // 言語選択がデフォルトのenでよければ、いきなりstep=1に飛んでOK
    await page.goto(
      process.argv[2] + '/wp-admin/install.php?step=1',
      {waitUntil: 'networkidle0'}
    );
    await page.type('#weblog_title', 'PUPPETEER')
    await page.type('#user_login', 'admin')
    // それなりに複雑なパスワード
    await page.type('#pass1-text', 'Pass00+345+Word')
    await page.type('#admin_email', 'test@example.com')
    await page.click('#blog_public')
    await page.click('#submit')

    browser.close()
  } catch(e) {
    console.log(e)
    process.exit(1)
  }
})();

node wpsetup.js https://127.0.0.1:8443のように実行する。

実行はCircleCIでやってるので、Fromイメージにはcircleci/node:8-browsersを使いました。
なんか動かないなーというときはDEBUG=puppeteer:session環境変数をつかいます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0