Автоматизация Watin и Fluent - ссылка на текущий браузер

Я использую 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;

Есть идеи?

Заранее спасибо!

1 ответ

Просто ссылка для тех, кто может найти это позже. У нас была дискуссия о том, как решить эту проблему в рамках проблемы GitHub Fluent Automation, с несколькими различными решениями.

В идеале любое взаимодействие с пользователем будет рассматриваться с использованием фактического I.Click("#button") введите действия, но в некотором случае, подобном этому, когда у вас есть что-то вроде элементов интерфейса на основе плагина /flash/java/you-name-it, вам нужно либо:

  1. Добавьте метод расширения для поддержки этого, как это сделал lstanczyk, или
  2. Сделайте что-то вроде события click для невидимого или неэкранного элемента с помощью onclick, который запускает JavaScript API для работы с плагином.

Собственным решением 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);
}

И затем вызывать его с I.RunScript(script); где script JavaScript в строке

Другие вопросы по тегам