I investigated some feature regarding with Selenium3 and associated with it. So, I put some memos I found here. PR for appium_lib to use webdriver-selenium 3.0 in the library https://github.com/appium/ruby_lib/pull/383 Appium server’s routes are: https://github.com/appium/appium-base-driver https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js The routes are based on the following spec: https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md This spec differs from W3C. So, webdriver-selenium 3.0‘s some commands…More
Category Archives: test automation
learning Rx
Reactiveを再度ざっと振り返るために、以下のlearnrxをやった。 http://reactivex.io/learnrx/ map や filter 、 reduce や take など、Elixirを学んだりしていると自然と学んだものだった。 Reactive、非同期通信とか扱いやすいけれどやっぱり使いすぎるとコールバックばかりでテストコードを書くことが大味になるし、使うのは適度が良さそう。More
Appium1.6.0 released !!
https://github.com/appium/appium/releases/tag/v1.6.0 support XCUITest(WebDriverAgent) to test against Xcode8 x above iOS9.3 BTW, this feature has some unstable/known issues support UI Automator 2 for Android I already tried previous its beta version in my company, and then I issued some problems to Appium and it already fixed. I’ll switch to this new version from previous 1.5 in…More
Appium x Androidの要素指定の手段にtext要素による指定を追加した
Appiumを使ってiOS/Androidの要素を取得する方法の数々に以下のAndroidによる要素の取得方法を追加しました。 Androidでは、Android SDKに同封される uiautomatorviewer コマンドで要素を表示確認します。そのツールで text 要素に表示される文言からその要素を特定する場合、上記のようにXPathの記述で要素を特定することが可能です。 利点 contentDescription指定が不要 表示されている文言ベースで要素を指定可能 比較的手軽 欠点 TextViewやButtonなど、表示される要素が異なると使い分けを行う必要がある 共通でresorceIDやcontentDescriptionで指定可能であれば、そのような使い分けはしなくてもよくなる テキストが表示されない要素を特定することは不可能 UIの表示文言にテストの安定性が左右される システムの言語設定に依存したり… ここまで揃えば、iOS/Android共に多くのシナリオを比較的容易に自然言語でシナリオ自動化できそう。More
Appium 1.3.4 released
Appium 1.3.4がリリースされていましたね。 https://github.com/appium/appium/releases/tag/v1.3.4 General better handling of session closing. iOS screenshotWaitTimeout syslog fix Android 全般的に、安定性が上がってきたイメージ AndroidとiOS、新OSがリリースされて広まる速度違うので、対応への急速感って違いますね。 こういうテストツールでもひしひし。 最近、こういうシミュレータでOSアップデート模倣できると嬉しいなって思ってます。 できる気がするのですよね。 アップデート前OSで起動、なんらかの操作した時点でアプリを保存データごとぶっこぬく 新OSを起動、もしくは起動前にappやapkを任意のファイル以下に設置する これで模倣できないかな。 やってみよう。More
Appium 1.3.3 released !!
Appium 1.3.3 がリリースされましたね。安定性も上がってきた模様。 1.3.3といいつつも、中身は1.3.2で計画していたものです。 詳細は以下をご覧いただければ良さそう。 https://discuss.appium.io/t/appium-1-3-3-released/1452 中でも、 add a sendKeyStrategy capability to allow testers to enable less reliable, but faster sendKey method が追加されたのは助かりますね。 一時期、sendKeyStrategyが1.3.1のものに変更されたのですが、そこがcapabilityで選ぶことが可能になったものです。 私が使っているテストスクリプト自体のiOS8やiPhone6/6+への対応も安定段階に入り、また継続して使えそう。Androidにも同様に本格的に取り組んでいきたい。 iOSでは、Xcode8.2の足音も聞こえ始め、シミュレータの安定性なんかが気になりますね。More
Appium1.3.0 released
AppiumのiOS8対応したv1.3.0がリリースされましたね。ついに。 https://github.com/appium/appium/releases/tag/v1.3.0 主な修正はiOS8対応です。 iOS8シミュレータのフォルダ構造が変わってたり、device nameのフォーマットが変わってたりと対応が多々ありましたが、動いて良かった。 微力ながら、少しiOS8対応周りでコミットさせて頂きました。 シミュレータ自体もまだ不安定な所がありますが、これからも不具合あればコミットして共有や修正していきたい。More
Appium1.2.3 released
Appium 1.2.3がリリースされましたね。 ios8ブランチでは、1.3-beta1としていくつか不具合はあるもiOS8対応も進んでいるのでもう少しかも。 とはいえ、iOS8 simulatorやinstruments関連でも不具合があるようなので、Apple側対応が必要な箇所もある程度ある模様。 Appium 1.2.3は、1.2.2において1.2.1からいくつかあったエンバグがなおっている模様。 例えば、iOSだとfindElementsのクラッシュやuiautomation predicate searchの修正、AndroidのsetText箇所など。 iOSのscroll操作もなおった模様? 私はscroll操作は使わないようにテストシナリオを修正したので、影響なかったのですが、影響ある人はありそう。More
Appium1.2.2 released
Appium、1.2.2が出てました。 https://github.com/appium/appium/releases/tag/v1.2.2 なにげに、インスペクタのレイアウトが変わってました。 iOSは微修正、Androidのほうが修正が多いように見えます。 個人的にiOSとして既存のテストに影響のありそうな修正は無かった。 Androidには以下が気になるところ。 まだシナリオ少ないですが、Androidは安定に向かっていて良さそう。 Android cache Chromedriver webview objects so we don’t need to start a new Chromedriver on every context switch allow chromeOptions cap object to be passed to chromedriver download all chromedriver architectures for linux (32 and 64 bit) make sure we stop adb logcat logging when ending a chrome…More
Travis CIとSauceLabsを使ってiOSをビルドしてみた
以前、SauceLabsを使った自動テストと、AndroidのTravis CIによるビルドを実行してみました。 今回はiOSを対象に実施しますが、さらに一歩進んで、 GitHubへPush => Travis CIによるビルド => Travis CIのビルドスクリプトでSauceLabsによるテスト => 結果 という流れを実行してみます。 .travis.ymlの内容以外は基本Androidのものと同一なので省略しておきます。 内容 こちらによると、今(20140721現在)サポートされているiOSアプリは、以下の模様。 7.1 (simulator and device) 7.0 (simulator and device) 6.1 (simulator and device) travis.ymlには、 language: xcode_sdk: などの要素をまずは指定してObjectiv-Cアプリのビルドスクリプトを記述します。More