[iOS]What’s new Testingを見た

What’s new Testingを見た。 https://developer.apple.com/videos/play/wwdc2017/409/ 見ている途中でいくつかメモしたので、その記録として… multiple appのテスト、URLを引数で与えることできるのね Accessibility Dataのところで説明しているsnapshot、WebDriverAgentが使っているやつぽいな おー。いちいちsnapshot取得する必要がなくなるのか。実行時間改善しそう 要素の検索で全捜査でなくて最初にマッチしたものだけさっと返すようにした、という話だけれど、ようやくという感じ。 ここら辺は元からそうなのでそうよねという感じだ。 ここはどこまで厳密に書くかはどれだけ内部実装と結合を強くするかの問題ですね。Espressoでも同じ問題をもつ。 地味に嬉しい Activity styleの書き方、Cucmberとかイメージすると良さそう。stepsにいろんな処理を入れて、シナリオはstepsを並べて記述するような感じが使い方として近そうだ。 非同期の奴も良さそう。XCTestなので、XCUITestでも使えるし。 snapshotのところはほんといろんな3rd partyも恩恵受けるだろうし、良いことづくしな気がする。けれど、これはXcode8でないと使えないOSテストするときは恩恵受けられないので、完全に恩恵を教授できるのは数年後かな… Xcode9のいくつかの機能、Xcode9以前でも使えると恩恵大きくて良いな…More

[automation]try Katalon

https://www.katalon.com/ これを少し触ってみた。 感想としては、これは https://docs.katalon.com/display/KD/Installation+and+Setup 以下の結果を参考にすると良さそう。 このツールの目的は、Selenium/Appiumを使ったテストを記述/管理する労力を減らそうというものぽい。特に、コードを自分で書かなくて良い状態で。 なので、以下の比較を見るとわかるのだけれど、例えば専属の自動化エンジニアを抱えるところとか、そういうところはターゲットではないように見える。 https://www.katalon.com/blog/comparison-automated-testing-tools/ Emerging solution with a small community. Feature set is still evolving. Lack of choices for scripting languages: only Java/Groovy is supported.More

[iOS]Bluepill1.0.0

Bluepillの1.0.0がリリースされていたのでメモ。 https://github.com/linkedin/bluepill/releases/tag/v1.0.0 XCUITestサポートが少し前に完了し、1.0.0になったようですね。 https://github.com/plu/pxctest/releases こちらに比べて、さすがに企業としての投資が違うのか、開発がBluepillの方が活発だ… 後、Bluepillはテストケースを分割して実行したりと、そういったオプションも豊富で使い勝手が良いですね。 https://github.com/linkedin/bluepillMore

[iOS]run tests on simulators vol2

[iOS]Run multi simulators with FBSimulatorControl にも書いている、iOSシミュレータを1つのマシンで複数動作させるやつ。最近ではLinkedInからOSSが公開されましたね。Blogはこちら。スターも多く、さすがLinkedInという感じ。 社内で FBSimulatorControl ベースの複数シミュレータで実行する環境を作ろうと思っていたけれど、もっと素晴らしいものが世に出てきててオォォォという感じ…(私、価値出せてない…) ここら辺、実装能力が顕著に現れて私は本当にまだまだと思う一方です。。。 以下、以前からある類似のものをピックアップ。 類似 https://github.com/linkedin/bluepill https://github.com/plu/pxctest このeBayに属している方、とても価値出している… https://github.com/plu/parallel_ios_tests 以前はxctoolを使って並列実行をサンプルとして実施可能にしていたのですが、今はpxctestをベースにしているらしいですね https://github.com/facebook/FBSimulatorControl 過去のBlogにも書いやつ。最近のこれ系のツールはこれを基本としていることが多い。 これを実施していると、正直なところ並列実行できないCloud実行環境はイマイチですね。 ローカル環境強し。。。More

[ReactNative][Appium]testIDの振られ方

ReactNativeだと、 testID としてiOSだとaccessibilityID、Androidだとview tagを使ってIDを埋め込むのですね。なので、ReactNativeのアプリに対してidで要素を検索したい場合はAndroidだと特に従来のAppiumやEspressoとは少し異なる。 Appiumだと、以下でview tagの取得をサポートするらしい。 https://github.com/appium/appium/issues/6025 これつくと、resource idが同じ要素も細かくidを振って操作することもできるようになるので、安定性向上に寄与しそうですね。 Does EarlGrey support finding react-native elements? https://github.com/google/EarlGrey/blob/master/docs/faq.md react native https://facebook.github.io/react-native/docs/accessibility.htmlMore

[iOS]Run multi simulators with FBSimulatorControl

複数のシミュレータを1つの端末/OS上で起動可能な FBSimulatorControl はご存知の方も多いかもしれません。 それを使った時のメモ。最後の方に、XCTestを実行する時のものも。 installはリポジトリを参考に。 (以下は 0.2.0 のバージョン) listを表示 2つの端末を同時起動 help 以下のPR/議論で、結果の出力フォーマットとしてJUnitなんかを選択できるようになったようです。 formatterのサポート https://github.com/facebook/FBSimulatorControl/issues/281 https://github.com/facebook/FBSimulatorControl/pull/290 また、以下の通り .xctest を対象にすると、XCTestを実行可能なようです。 という形でテストを実行できる模様。 .xctest はAWS Device Farmとかでも使えるコレですね。 http://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types-ios-xctest.htmlMore