0
1

More than 3 years have passed since last update.

UIテスト自動化してみた~導入編~

Last updated at Posted at 2021-09-17

はじめに

web開発してて、UIテスト面倒な~

これ全部、自動化されたら、楽なのにな~って思ってる開発者は少なくないと思う!

テスト自動化にSelenideを使ってみたので簡潔に内容を記載しようと思う。

Selenide導入

Selenide公式ページ

以下、mavenで使用する場合。

<dependency>
    <groupId>com.codeborne</groupId>
    <artifactId>selenide</artifactId>
    <version>5.24.3</version>
    <scope>test</scope>
</dependency>

まずはwebサイトを開く

これだけで画面は開けちゃう。

import com.codeborne.selenide.Selenide;

// yahooを開く
Selenide.open("https://www.yahoo.co.jp/");

要素にアクションを起こす

以下、クリックの例

import com.codeborne.selenide.Selenide;

// selecterにはCSSセレクタが入る
Selenide.$(selecter).click();

個人的にはCSSセレクタを使って、
.click()ってメソッドがあるとかjqueryの感覚で使えそうだな~って印象
Javaは得意じゃないけど、jqueryはよく使ってたからJavaよりもとっつきやすい!(^^)/

ココがスゴイ

  • 勝手に要素wait
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.Selenide;

// 要素の出現待機する秒数を設定(ミリ秒)
Configration.timeout = 10000;

Selenide.$(selecter).click();

このような記述をした場合、selecterの値が表示されるまでフレームワークでwaitしてくれる!!

昔、Selenideを使ったときはブラウザでアクセスしてどれくらいのwaitかければいいか計算してやった記憶があるな…
あの時はがむしゃらだったなー…(ホジホジ)

  • 実施者の裁量に依存しない!
// ブラウザサイズを指定
Configuration.browserSize = width + "x" + height;

UIテスト実施等で大変なのは、複数人で実施した時の前提条件合わせ
ルールは決めてたけど、設定し忘れて実施しちゃった…なんてことも…

設定値に完全統一が難しいブラウザサイズの固定もできる!

  • 複数ブラウザも楽ちん!
import org.openqa.selenium.chrome.ChromeDriver;
import com.codeborne.selenide.WebDriverRunner;

// chromeを設定
ChromeDriver chromeDriver = new ChromeDriver();
WebDriverRunner.setWebDriver(chromeDriver);

WebDriverRunnersetWebDriverメソッドを使用すれば、ブラウザの切り替えも余裕!

いや~これ導入したら、「IEとchromeとfirefoxでテストしてほしいんだよね」って言う人がいても余裕ですね~笑(IEはもうやらんくて良くない…??)

次回予告

次回は、

  • テスト自動化でエビデンスをとる
  • 使ってみてのマイナスポイント

の2本立てでお送りします!

それでは~(*´ω`)ノシ

0
1
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
0
1