1

序文:

序文を気にしない場合は、「質問」とマークされたセクションまでスキップしてください。

やあ、

最近、私の会社は、テスト自動化フレームワーク用の最新バージョンの WatiN にアップグレードしました。選択リストを操作するとACCSES DENIEDエラーが発生する問題を回避するためにアップグレードしました。このエラーは、特定の選択リスト オプションが選択された後、Web アプリケーションがそのページ (フレームセット内のフレーム内にあるページ) を新しいフィールドでリロードするという事実の産物のようです。また、WatiN をラップするフレームワークが、ページの更新後に同じ SelectList に対してアクションを実行することが多い可能性もあります (私はまだこれを調べています。フレームワークは初めてです)。

新しいバージョンの WatiN は ACCESS DENIED エラーを解決しますが、新しいオプションでページをリロードさせるアクションを選択リストが起動するのを止めているようです。実際、WatiN を使用して選択を行った場合、ページが強制的に更新されるまで、手動で操作しても選択リストは正しく機能しません。

質問:

最新の WatiN コードを使用して SelectList でオプションを選択すると、Web アプリのページが新しいフィールド/値でリロードされるイベントが実行されません。これを引き起こす可能性のあるいくつかの可能性は何ですか?

選択リストが使用されるときに発生する更新を説明するために最も頻繁に使用される用語は、「二重ポストバック」です。

どうもありがとう、チャド

4

1 に答える 1

2

これは新しいWatiNコードの一部です。SelectListクラスを調べると、新しいコードには、これらのイベントが正確に発生しないように変更されたという事実についてのコメントがあります。「イベントを発生させるための選択リストを取得するには、キーを押すか他のイベントを使用する必要があるかもしれません」という線に沿って何かを言います。

これは私にはうまくいかなかったので、古いコードに戻りました。

助けになったのは、try / catch(System.UnauthorizedAccess e)を使用して選択リストへの呼び出しをラップしてから、選択リストオブジェクトで.Refreshを実行することです。その後、呼び出しを再試行することができ、かなりうまく機能しているようです。

于 2010-04-26T23:33:00.010 に答える