Автоматизация 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, вам нужно либо:
- Добавьте метод расширения для поддержки этого, как это сделал lstanczyk, или
- Сделайте что-то вроде события 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 в строке