Cloud Test Labドキュメントのざっくり翻訳
概要
Cloud Test Labのドキュメントが公開されていたのでトップページだけざっくり翻訳してみた(英語は得意じゃない)。
原文
[翻訳] Google Cloud Test Lab
Google Cloud Test Labは、クラウドベースのAndroidアプリテスト環境を提供します。あなたは、たった一つの操作で、あなたのアプリに関するデバイスとデバイス設定を跨いだ幅広いテストを実行できるでしょう。テストの結果は、ログや動画、スクリーンショットを含み、Google Developers Consoleのあなたのプロジェクトから参照可能です。もしあなたがアプリに関するテストコードを書いていないのであれば、Cloud Test Labはあなたのアプリを自動的に動かし、クラッシュを発見するでしょう。
テストを実行する複数の方法
あなたは、アプリをテストする方法を選択できます。
- Android Studio Pluginの利用して開発環境からアプリが正しい挙動をしているかテストします。
- Command line interfaceを利用してインタラクティブに実行します。また、あなたの自動ビルド・テストプロセスの一部に組み込めます。
- Google Developers Consoleに組み込まれたWeb UIを利用し、どこからでもAPKのアップロード、テストを実行できます。
デバイスタイプの選択
Virtual devices
Virtual devicesはAndroid端末を正確にシミュレーションします。それらの端末は、テスト実行のスケジューリングについて高可用性を持ち、日々の開発や継続的テストに適しています。
Physical devices
Physical devicesではGoogleのデーターセンターにあるAndroid端末の実機にインストールされ実行されます。実機でのテストはリリース前のテストに適しており、Virtual devicesでのテストでは発見できなかった問題を発見する手助けになるでしょう。
テスト方法の選択
2種類のテスト方法が利用可能です。
Instrumentation tests
Instrumentation testsでは、あなたがEspressoやRobotiumを利用して書いたテストを実行します。
Robo tests
あなたがinstrumentation testsを書いていないのならば、 Robo tests を選択することでシュミレートされたユーザーのアクションによってあなたのアプリをテストできます。Robo testsについての詳細はこちらをご覧ください。
結果を確認する
テストの実行結果を逐次気にしなくても全てのテスト結果はCloud Test Labに集められ、失敗したテストの詳細やログ、動画、スクリーンショットをオンラインで確認できます。より詳しい内容は Analyzing Cloud Test Lab Resultsをご覧ください。
また、AndroidStudioからテストを実行したのであれば、テスト結果をAndroidStudio内から確認できます。
SORACOMのAir SIMの帯域をRubyスクリプトから変更する
概要
ソラコムのAir SIMの帯域変更をRubyのスクリプトから試した。
SORACOM SDK for Rubyのインストール
$ gem install soracom
Clientの準備
require 'soracom' client = Soracom::Client.new(email: 'YOUR_EMAIL_ADDRESS', password: 'YOUR_PASSWORD')
emailとpasswordは、それぞれ環境変数SORACOM_EMAILとSORACOM_PASSWORDを定義することでSDKが自動で読み込む。その場合は以下のようになる。
require 'soracom' client = Soracom::Client.new
SIM一覧取得
require 'soracom' require 'pp' client = Soracom::Client.new(email: 'YOUR_EMAIL_ADDRESS', password: 'YOUR_PASSWORD') # 管理しているSIM一覧を取得 sims = client.list_subscribers pp sims
実行すると以下のような結果を得れる。
$ ruby soracom.rb [{"imsi"=>"123456789", "msisdn"=>"0987654321", "ipAddress"=>"192.168.1.1", "apn"=>"soracom.io", "type"=>"s1.fast", "groupId"=>"12345-6789-abcd-efghijk", "createdAt"=>12345, "lastModifiedAt"=>6789abc, "expiredAt"=>nil, "terminationEnabled"=>false, "status"=>"active", "tags"=>{"name"=>"example"}, "sessionStatus"=> {"lastUpdatedAt"=>123456, "imei"=>"123456789", "location"=>nil, "ueIpAddress"=>"192.168.1.1", "dnsServers"=>["192.168.1.1", "192.168.1.1"], "online"=>true}, "speedClass"=>"s1.fast", "moduleType"=>"nano", "plan"=>0, "expiryTime"=>nil, "operatorId"=>"1234567", "createdTime"=> 12345, "lastModifiedTime"=> 6789abc}]
IMSI識別番号の取得
SIM個別に操作するためにIMSIを取得する。
require 'soracom' require 'pp' client = Soracom::Client.new(email: 'YOUR_EMAIL_ADDRESS', password: 'YOUR_PASSWORD') # 管理しているSIM一覧を取得 sims = client.list_subscribers # IMSI識別番号の取得 imsis = sims.map { |sim| sim['imsi'] } pp imsis
実行するとIMSIの配列を得られる。
$ ruby soracom.rb ["123456789"]
SIMの通信帯域を制御
SORACOMには4つの速度クラスがあり、それらをユーザーコンソールから変更できる。今回はs1.fast
からs1.minimum
に変更する。
require 'soracom' client = Soracom::Client.new(email: 'YOUR_EMAIL_ADDRESS', password: 'YOUR_PASSWORD') # SIM一覧を取得 sims = client.list_subscribers p sims.map { |sim| sim['speedClass'] } # IMSI識別番号の取得 imsis = sims.map { |sim| sim['imsi'] } client.update_subscriber_speed_class(imsis, 's1.minimum') # SIMの情報を再取得 p client.list_subscribers.map { |sim| sim['speedClass'] }
実行すると速度クラスが変更され、帯域を制御できた。
$ ruby soracom.rb ["s1.fast"] ["s1.minimum"]
参考
Rubyでファイル名を置き換える
以下のようなファイルを
_hoge1.png _hoge2.png _hoge3.png _hoge4.png _hoge5.png
以下のようにリネームしたい
hoge1.png hoge2.png hoge3.png hoge4.png hoge5.png
Rubyで書くとこんな感じ
equire 'fileutils' Dir.glob('*.png') { |filename| tmp = /_(.*).png/.match(filename) new_filename = tmp[1] + ".png" FileUtils.mv(filename, new_filename) }
PhotonでOSX風Electronアプリを作成する
ElectronでOSX風のUIを簡単に作れるPhotonを使ってみる。
Eelectronをインストール
先にElectornをインストールしておく。
Photonのリポジトリをclone
$ git clone https://github.com/connors/photon.git
プロジェクト構成
Photonを使用してElectronアプリを作成するために必要なcssやfont、アプリ本体はdist以下に配置されている。tagged downloadsからはdist以下のみダウンロードできる。
photon ├── CNAME ├── CONTRIBUTING.md ├── Gruntfile.js ├── LICENSE ├── README.md ├── _config.yml ├── dist ├── docs ├── fonts ├── package.json └── sass
contributeしたい時はgruntを使う。
Photonのサンプルアプリを動かしてみる
$ npm start
もしくは
$ electron dist/template-app
Components
色々なComponentsが用意されていて、組み合わせると簡単にOSX風UIを組み立てれる。
Electronを動かす
Node.jsのインストール
nvm(もしくはnodebrew)を使いインストール
$ nvm install v4.2.1 $ node -v v4.2.1
yeomanのインストール
Electronの雛形プロジェクトを生成するためにyeomanをインストール
$ npm install -g yo
Electron用のgeneratorをインストール
$ npm install -g generator-electron
Electronをインストール
$ npm install -g electron-prebuilt
Electronの雛形プロジェクト生成
$ yo ? 'Allo horie1024! What would you like to do? Run a generator ❯ Electron ────────────── Update your generators Install a generator Find some help Clear global config Get me out of here! ──────────────
以下のようにプロジェクトが生成される。
my-app/ ├── index.css ├── index.html ├── index.js ├── license ├── node_modules ├── package.json └── readme.md
Electronをビルド
$ cd my-app && electron .
以下のようにデスクトップアプリとして表示される。
作成したサンプルアプリ
https://github.com/horie1024/ElectronSampleApp