2016-08-25 4 views
0

私はアプリケーションを自動化しようとしています(Windowsベース)。それは記録と再生でした。 Squishは開いてアプリケーションにログインすることができますが、ホーム画面のタブをクリックしようとしている瞬間に、そのオブジェクトを識別できないと言っています。動的に変化するオブジェクトを認識しません。

これは、コードの一部です:最後に

mouseClick(waitForObject(": .ND - New Declaration_ListViewItem_18")); 

が止まると、新しいウィンドウが、私が認識されなかったオブジェクトを選択するとき、私はオブジェクトことがわかり、「picknewobject」に私を求めてポップアップ表示idが動的に変更されました。 例: "ND - New Declaration_ListViewItem_18"が "ND - New Declaration_ListViewItem_19"に変更されました。

+0

を参照してください、私はあなたを考えますあなたの答えはここにあります:http://blog.froglogic.com/2014/08/squish-tip-of-the-week-how-to-find-and-use-dynamic-objects/ – EugenG

+0

またはあなたのタブ親オブジェクトを持ちます。そのオブジェクトの子を読んで、名前を目的のものと比較する) – EugenG

答えて

0

: .ND - New Declaration_ListViewItem_18のように、waitForObjectに渡されたコロン(:)で始まる文字列は、意味を持ちません。それらは、いわゆるオブジェクトマップでルックアップを実行するために使用されるシンボリックな識別子(Squishでは "シンボリック名"と呼ばれます)です。オブジェクトマップは、各実名を「実名」に対応付けており、実名は実際にオブジェクトが識別されるプロパティを定義します。

Squishが既存の(そしておそらくは一致する)名前を再使用せずに新しい名前を生成する場合は、オブジェクトマップを見て、: .ND - New Declaration_ListViewItem_18: .ND - New Declaration_ListViewItem_19という実名をチェックする必要があります。実際の名前には何らかの揮発性の性質が含まれている可能性があります。アプリケーションの実行ごとに値を変更するプロパティ。

0

これを実行すると、特定のテスト実行時にオブジェクトにアクセスしようとするたびに新しいオブジェクトが取得されることがあります。これらの新しいオブジェクトはそれぞれ同じプロパティを持ちます。だから、Squishは、 "occurrence = 'n'"プロパティを持つ後続のインスタンスを参照しようとしています。

この問題を確実に解決する簡単な方法は、親オブジェクト(インスタンス化されずに破棄されていないアプリで安定したもの)を使用し、親オブジェクトのコンポーネント階層を名前でトラバースすることです。相互作用することは一意の名前を持つ)。あなたがこれを行うための関数を作成することができます

...

私の経験では、テスト用言語としてJavaScriptを使用してLinux上でJava用スキッシュです。だから、私のスクリプトの例が役立つかどうかは分かりません。しかし、我々は作成した "aut"名前空間を持っています。名前、型、テキストでオブジェクトを見つけるために、Javaコンポーネント階層を横切る方法(階層内を上下に移動する方法)を知っている、

/** javascript **/ 
let listItemAncestor = findObject(":SomeSymbolicNameForAncestor"); 
let declarationListItem = aut.fetchDescendantByName(listItemAncestor, "NewDeclarationListItem"); 
mouseClick(waitForObject(delarationListItem)); 
0

私はあなたがオブジェクトをスパイし、それらのプロパティを使用してマウスクリックイベントを実行することをお勧めします。テストを維持するのが容易になり、ワイルドカードを使用してテストをより堅牢にすることができます。

例:

てstartApplication( "アドレス帳")

マウスクリック( "{タイプ= 'MenuItemの' テキスト= 'ファイル'?}")

https://doc.froglogic.com/squish/5.1/rg-namelookup.html

関連する問題