LoginSignup
0
0

More than 1 year has passed since last update.

Appiumクライアント(WebdriverIO)の構築

Last updated at Posted at 2022-08-05

本記事はこちらの記事の続きとなっています。

Appiumクライアント(WebdriverIO)の構築

Appiumサーバとやりとりを行うクライアント側の構築をします。
Appiumを動かすためのテストコードなどはクライアント側で実装を行います。

WebdriverIO

WebdriverIOとは、WebDriverプロトコルに対するAppiumの拡張機能をサポートするクライアントライブラリであ流。JavaScriptを使用する場合はクライアントライブラリとしてWebdriverIOを使用します。(使用する言語ごとにクライアントライブラリが用意されている)

WebdriverIOのインストール

npmでインストールする

~/WorkSpace/appium-test $ npm install --save-dev @wdio/cli
~/WorkSpace/appium-test $ npm install --save-dev @wdio/local-runner

次にWebdriverIOの構成ファイルを作成します。
下記のコマンドを打つことで対話形式でWebdriverIOの構成を行うことが出来ます。

~/WorkSpace/appium-test $ npx wdio config

各質問に対してどのような構成にするのかを聞いてきます。
image.png

質問と答え(表題の構成で行う場合)
image.png

最後に
Do you want me to run npm install (Y/n)
と聞かれるのでEnter(y)を押すとnpm installが行われます。

image.png

テストに使用するアプリファイルを準備する

apps/Androidフォルダを作成して、Androidフォルダ内にAPKファイルをセットする。
(本記事ではデモ用のアプリを使用するため、APKファイルをAppiumのGitHubから取得しておく)

~/WorkSpace/appium-test $ mkdir apps
~/WorkSpace/appium-test $ mkdir apps/Android

ファイル構成は↓
image.png

エミュレーターを準備する

AndroidStudioのAVD Managerからエミュレーターを起動し、adb devicesコマンドで起動しているエミュレーターの名前を調べる。
※この例ではAndroid12のPixel4を使用する
image.png

起動しているエミュレーター名は「emulator-5554」
image.png

先程構成をしたWebdriberIOの設定ファイル(wdio.conf.ts)を開きます。
image.png

開いたwdio.config.tsに以下の変更と追記を行なって保存する

追記するもの
  • import {join} from 'path'; //2行目に追記する
  • hostname: 'localhost',
  • path: 'wd/hub',
変更するもの
  • maxInstance: 10 -> maxInstance: 1 ※複数の端末でテストを行えるようになるまでは1で良い
  • capabilities: [{},], の中身を↓に変更
capabilities: [
  {
    maxInstances: 1,
    platformName: 'Android',
    automationName: 'UiAutomator2',
    app: join(
      process.cwd(),
      './apps/Android/ApiDemos-debug.apk'
      ),
    platformVersion: '12',
    deviceName: 'emulator-5554',
    newCommandTimeout: 60,
  },
],
  • service: ['appium'], を↓に変更
services: [
    [
      'appium',
      {
        command: 'appium',
        logPath: './config/logs/',
        logFileName: 'appium.log',
        args: {
          address: 'localhost',
          port: 4723,
      },
    },
  ],
],

(追記)
testフォルダ内にあるtsconfig.jsonファイルはappium-testフォルダに移動させる
※移動させないとコンパイルエラーが起きる

Appiumを実行してみる

実行する前にあらかじめエミュレーターを立ち上げておきます。

AndroidStudio > AVD Manager > (wdio.config.tsのcapabilitiesに記載したエミュレーターを起動する)

プロジェクトのルートディレクトリで以下のコマンドを実行する

~/WorkSpace/appium-test $ npx wdio test/wdio.conf.ts

すると、appiumが動き出して、エミュレーター上でアプリが立ち上がります。
image.png

ただ、この時点ではデフォルトのテストケースのみであるため、テストが失敗してアプリが終了してしまいますが、クライアント側の構築は完了です。
image.png

次に、テストコードを作成するためにアプリの要素がどのように定義されているかをAppiumデスクトップを利用して調べます。

↓続き

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