BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Safari 10、WebDriverを搭載

Safari 10、WebDriverを搭載

原文(投稿日:2016/06/23)へのリンク

Appleは、Webインスペクタおよび新しいJavaScriptプロファイラとともに、Safari 10.0でWebDriverをサポートすることを発表した。

Safariは、Webアプリのテスト自動化ツールをサポートする最後の主要ブラウザだ。Microsoftは2015年に、EdgeブラウザでWebDriverをサポートすることを発表している

更新された「What's New in Safari」で、Appleはこう書いている。safari driverの搭載は「DOM要素を操作し、ブラウザの挙動を制御するための一連のインターフェイス」を提供する。開発者は/usr/bin/safaridriverを使うサーバを立ち上げる前に、DevelopメニューのRemote Automationを有効にしなくてはならない。

MozillaのエンジニアマネージャーでThe Automated Testerでブログを書いているDavid Burns氏が、safari driverの重要性について説明している。。Burns氏は最近のFirefox 47を例に挙げてこう語る。「Firefox 47で、SeleniumはFirefoxを起動時にクラッシュさせるようになりました。WebDriverのMozilla実装(MarionetteおよびGeckoDriver)ではこの問題は起こらないでしょう。テスト失敗やこのようなクラッシュが起こると、それを修正するパッチが作られ、エンドユーザー向けに出荷されることはないためです。」

Safari 10の新しいWebインスペクタ機能には、開発者がアプリケーションのメモリ消費を見るのに役立つ新しいタイムラインや、開発者が最適なメモリ性能を得るために改善すべきところを特定するのに役立つヒープアロケーションの時系列プロットが含まれる。

またAppleは、デバッギングツールを無効にしている間も実行コードを高精度でサンプリングすることにより、新しいJavaScriptサンプリングプロファイラで「高速化」を実現すると約束している。

また、10.0リリースで重要なのは、OSXとiOS向けのES6「完全サポート」だ。これはSafariにPTC (Proper Tail Calls) をもたらしてくれる。AppleでWebKitに取り組んでいるソフトウェアエンジニアのMichael Saboff氏は、ブログ記事「ECMAScript 6 Proper Tail Calls in WebKit」でECMAScript 6の重要性について述べている。

この機能は直接的および間接的の両方の再帰プログラミングのパターンを簡単にするために追加されました。他にも様々なデザインパターンがPTCから恩恵を得ます。例えば、ある機能をラップするコードで、ラップしているコードが直接ラップしているものの結果を返すようなものなど。PTCを使うことで、コードの実行に必要なメモリ量が減ります。深く再帰したコードにおいて、PTCはスタックオーバーフロー例外を投げていたようなコードの実行を可能にします。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT