Reputation: 1403
I am using Fluent Automation in my project to create more human-readable tests. Info available here http://fluent.stirno.com/ and on GitHub: https://github.com/stirno/FluentAutomation
I need to be able to perform some things that are not implemented with fluent automation and would like to be able to get a hold of the browser or WatiN element. I am actually trying to run a LINQ query such as this:
var indicators = from i in this.CurrentBrowser.Links
where i.Url.Contains("LeadsMine.aspx?flag")
select i;
Any ideas?
Thank you in advance!
Upvotes: 2
Views: 974
Reputation: 10901
Just a reference for anyone that may find this later. We had a discussion about how to deal with this as part of a Fluent Automation GitHub Issue, with a couple different solutions.
Ideally any user interaction would be dealt with using the actual I.Click("#button")
type actions, but in a fringe case like this where you have something like plugin/flash/java/you-name-it based UI elements, you either need to:
lstanczyk's own solution was adding an extension method:
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);
}
And then invoking it with I.RunScript(script);
where script
is JavaScript in a string.
Upvotes: 2