FileMaker に一般的なテスティングフレームワークが使えないかと思って色々と試しています。今回は、Selenium ( SeleniumIDE ) を試してみました。
前提条件として、FileMaker が WebDirect で完全に機能しないといけないのですが、私の場合はいつも、 WebDirect での運用をメインに考えているので、この前提はクリアしています。
テストの自動化やってみた。動かすことはできるけどかなり力技。折角レイアウトモードでオブジェクトにオブジェクト名付けてるのに、WebDirectのソースには全く現れない。やっぱり特化したテスティングフレームワーク欲しいな。 #FileMaker #Selenium #SeleniumIDE pic.twitter.com/SRCZicCLT7
— TAKESHI NAKANO (@takeshi0206x) October 15, 2022
ここまで動かすにも色々とコツはあるのですが、まず最初のうちは「操作を記録した時のテストケースをそのまま実行させても動かない」と思っていたほうが無難です。
操作の記録では、ボタンをダイレクトにクリックしたり、フィールドをダイレクトにクリックして記録しますが、出来上がったテストケースの記録には、例えば「idが xxxxxxxx というオブジェクトをクリックした」という記録だけが残ります。
しかし、このテストケースをリプレイしたとき、「id xxxxxxxx というオブジェクトが見つかりません」と表示されて中断する場合があります。その場合私は、「現在アクティブなウィンドウには、そういうidを持つオブジェクトが見当たらない」という意味だと解釈しています。(スコープに存在しない的なイメージ)
このことから、ボタンをクリックしたり、フィールドに入力する場合は、まずボタンやフィールドが乗っている親ウィンドウをクリックしてアクティブにしてからボタンをクリックするようにしました。
また、SeleniumIDEでは、一つ一つのアクションにおける、ターゲットを設定しますが、このターゲットのタイプを3種類( css:finder , xpath:idRelative , xpath:position )から選択できるので、アクションのステップがうまく動作しない時に、別のターゲットのタイプを簡単に試すことができます。
WebDirectの場合、というか、私が作ったカスタムAppでは、xpath:idRelative でうまくいくケースが多いです。
WebDirect + SeleniumIDE に戻る。SleniumIDEだとターゲットのタイプを選択できる。 pic.twitter.com/16raDwKEX6
— TAKESHI NAKANO (@takeshi0206x) 2022年10月19日
誰かの参考になれば。
0 件のコメント:
コメントを投稿