中年エンジニアの開発と生活の日々

中年エンジニアがソフトウェア開発や日々の生活で得た知見の備忘録

Turnip の RSpec で関数を定義して呼び出すには

現在、Turnip と RSpec を組み合わせて Ruby でテストスクリプトを作成しているのですが、共通な処理を関数にまとめる方法についてまとめてみました。 Turnip については以下のサイトが詳しいです Rubyist Magazine - エンドツーエンドテストの自動化は Cucu…

Appium のテストスクリプトで長めの Sleep を入れる

本日は小ネタです。 内部の実装上の都合で、Appium のテストスクリプト (Rubyで書いてます) の中で長めの Wait を入れる必要がありました。テストスクリプトの中で sleep 90 とか、長めの Sleep を入れたところ、テストスクリプトの実行時に以下のようなエラ…

Circle CI でバックグラウンド処理を行う

CI におけるバックグラウンドプロセスの実行について Circle CI でバックグラウンドプロセスを起動したいことがままあります。たとえば、自動検証を行う際に appium のサーバープロセスを起動するなどです。 普通、Unix系のコマンドではコマンドの後ろに ‘&’…

Ruby の空白の洗礼を受けたお話

最近、AppiumにTurnipとRSpecを組み合わせてテストスクリプトを書き始めています。 今までのエンジニア人生でRubyを本格的に開発に使用するのが初めてなので、Rubyのエキスパートから見たらどうしょうもないところでつまづいてしまいました。 自分の恥を晒す…

自動署名のXcodeプロジェクトをfastlaneでビルドする

自動署名とは iOS アプリの開発においてXcode8 から導入された機能で、アプリケーションをビルド&アーカイブする際に選択した使用方法に合わせた署名をつけてくれます。 通常、署名の種類は開発用(Development)、検証用(Adhoc)、リリース用の3種類の署名があ…

限られた工数でテストケースの品質を上げる

最近、検証エンジニアも兼務すること多く、2年くらい前からテスト設計からテストの実行までやるようになりました。 その際に、見極めが難しいのが、テストケースをどこまで掘り下げて書くかと言うことでした。 基本 おおよそのテスト設計の教科書には以下の…

appium-desktop を Android アプリで使ってみる

先日 appium-desktop を紹介しましたが、Android 編のリクエストがありましたので、追加して見ました。 android で appium-desktop を使う利点 android については 古い desktop 版の appium Ver.15.x でも Inspector 機能を使うには支障がなかったため、app…

fastlane のプラグインを使ってみよう

iOS アプリの継続的インテグレーションで有名な fastlane ですが、今日はそのプラグイン機能について紹介します。 fastlane plug-in とは fastlane はかなり多機能ですが、標準のコマンドでサポートされていない機能をプラグインを使用して機能を拡張できま…

appium-desktop の紹介

はじめに Xcode 8 になり、UI Automation が廃止された関係で、アプリ版の appium (Ver.15.x) が使えなくなっていました。自動テスト自体はコマンドライン版の appium Ver.16 を使用すれば良いのですが、自動テストのスクリプトを書く際に UI パーツの ID な…

Circle CI で iOS アプリと Android アプリのビルド番号を更新する

Circle CI のビルド番号を Android と iOS のアプリのビルド番号に反映させる方法を紹介します。 Circle CI のビルド番号とは Circle CI ではビルドごとに一意の値が決まるようにビルド番号を環境変数で用意しています。 CIRCLE_BUILD_NUM この環境変数は Ci…

iOSとAndroidの同時開発で Circle CI を使用する

はじめに iOSとAndroidのクロス開発を行なっているのですが、Circle CIを使用してインテグレーションすることになったので、概要をまとめてみました。 Circle CI の仮想環境は Mac OS を使用する Circle CI では仮想環境をLinuxとMac OS から選ぶことができ…

ブログ開設にあたって

長年付き合いのある知人から「会社に引きこもってばかりいるのはイクナイ、何かアウトプットするのが良い(意訳)」とアドバイスをもらい、確かに何かアウトプットしないとバランスが良くないよなぁということと、自分が普段の開発で得られた知見を整理して…