Go学習日誌 #2022/06/22

テスト作成

実施事項

今日は吐き気でダウン気味だったのであまり進捗は無し。
とりあえず以下を実施
・モデルテストの作成
・システムテストの作成に着手

モデルテスト作成

残りのモデルのテストを作成した。

システムテスト作成

以前書いた下記のSeleniumを使ったテストを参考にしてみたが、どうにもうまく動かなかった。

色々調べると、Agoutiというのを使うとGinkgoと組み合わせて簡単にテストが書けるらしい。

対応するWebDriverは以下の3つ。
・Phantomjs
・Chromedriver
・Selenium
Seleniumはどうにもうまく動作しなかったので、今回はChromedriverで実装することにした。
(Phantomjsは仕事で使って、あまり良くなかったので試していない。)

公式ページに分かりやすくテストの書き方が書いてあるので、それを参考にホーム画面のテストを作成した。
しかし、実行してみると下記の様なエラーが発生。

  Expected success, but got an error:
      <*errors.errorString | 0xc0001203a0>: {
          s: "failed to navigate: request unsuccessful: invalid session id",
      }
      failed to navigate: request unsuccessful: invalid session id

ページ遷移がうまくできないらしい。
以前仕事で使用しているChromeとdriverのバージョンが違ってうまく動かなかったことがあったので念のためdriverを以下コマンドで再インストールした。

brew reinstall --cask chromedriver

再度実行すると、「開発元を検証できない」というセキュリティ警告が出て実行を止められてしまった。
下記を参考に問題を解決。

テストも動いた!
これでシステムテストのスタートラインに立てたので、明日から残りのテストをゴリゴリ書いていく。

この記事が気に入ったらサポートをしてみませんか?