2

プロジェクトで Fluent Automation を使用して、より人間が読めるテストを作成しています。ここで入手可能な情報http://fluent.stirno.com/および GitHub: https://github.com/stirno/FluentAutomation

流暢な自動化では実装されていないいくつかのことを実行できるようにする必要があり、ブラウザーまたは WatiN 要素を取得できるようにしたいと考えています。私は実際に次のようなLINQクエリを実行しようとしています:

var indicators = from i in this.CurrentBrowser.Links
where i.Url.Contains("LeadsMine.aspx?flag")
select i;

何か案は?

前もって感謝します!

4

1 に答える 1

2

後でこれを見つけるかもしれない人のための単なる参照。Fluent Automation GitHub Issueの一部として、いくつかの異なる解決策を使用して、これに対処する方法について話し合いました。

理想的には、すべてのユーザー インタラクションは実際のI.Click("#button")タイプ アクションを使用して処理されますが、プラグイン/フラッシュ/Java/you-name-it ベースの UI 要素のようなものがあるこのようなフリンジ ケースでは、次のいずれかを行う必要があります。

  1. lstanczyk が行ったように、これをサポートする拡張メソッドを追加するか、
  2. プラグインを操作する JavaScript API を起動する onclick を使用して、非表示または画面外の要素でクリック イベントのようなことを行います。

lstanczyk 自身の解決策は、拡張メソッドを追加することでした。

public static void RunScript(this FluentAutomation.Interfaces.INativeActionSyntaxProvider I, string scriptCode)
{
    FluentAutomation.Element bodyTag = I.Find("body").Invoke() as FluentAutomation.Element;
    bodyTag.AutomationElement.DomContainer.RunScript(scriptCode);
}

そして、文字列内の JavaScript はI.RunScript(script);where で呼び出します。script

于 2012-10-31T05:09:23.297 に答える