私はjavascript初心者です。 iOSアプリにはたくさんのボタンがあります。彼らの中には名前に手紙があるものもあります。他のものは単に番号で命名されています。私はUIテストスクリプトを書こうとしています。このスクリプトでは、UIButtonsに対応するUIAElementオブジェクトの配列を表すbuttonsという配列があります。Javascriptの自動型変換は、私のiPhoneオートメーションスクリプトで問題を引き起こしています
私は次のことを行う場合、それは素晴らしい作品:
buttons["clr"].tap();
私は、これはタイトル「CLR」とのボタンをタップしたい、そしてそれがありません。
しかし、タイトル「2」のボタンをタップする方法はありません。私は、次の操作を行う場合、それは私のために動作しません:
buttons["2"].tap();
は何が起こるかは、システムのいくつかの作品は、配列のインデックス2にあるボタンをタップすることを決定したということです。これは、名前が2のボタンと同じではありません。
誰でも説明できますか?そして、文字列として文字列を扱うように強制する方法はありますか?私はいくつかの変種を試してみましたが、どれも役に立たなかった。
buttons[String(2)].tap();
EDIT:2以外にも名前を付けることは可能ですが、厄介です。アプリは電卓で、2はちょうどそのことを行うキーの正しい名前のようです。これらの名前は、障害を持つ人々にアプリを提示するために使用されます。私は詳細をすべて知っているわけではありませんが、「2」は長期的には「2」よりもうまくいくと感じています。
私の配列の配置方法に関する質問には、Apple's UIAElement class経由です。具体的には、次のコードは私の問題を解決し
var buttons=window.buttons();
JavaScriptの配列インデックス*は文字列です。 '2'以外の要素に名前をつけることはできますか? – alex
どのように配列にデータを設定していますか? –