Я думаю, я мог бы ответить вам лучше, если бы у меня было лучшее представление о том, что вы пытались сделать, но я могу поделиться некоторыми наблюдениями о том, что я узнал с WatiN.
Более конкретныйваши селекторы, тем быстрее все пойдет.Избегайте использования «browser.Elements», так как это действительно универсально.Я не уверен, что это сильно экономит, но делать что-то вроде browser.Body.Elements выбрасывает элементы заголовка из области проверяемых вещей и может сохранить несколько вычислений.
Когда я говорю «охват», учтите, что WatiN всегда начинается со всего DOM.Можете ли вы придумать способы ограничить область действия элементов, возможно, текстовыми полями в главном элементе div на вашей странице?WatiN возвращает Elements и ElementCollections, каждый из которых может иметь свою собственную ElementCollection.Этот div, вероятно, имеет определенный идентификатор, поэтому вы можете сделать что-то вроде
var textFields = ie.Div("divId").TextFields;
Ищите возможности быть более конкретными, и вы можете использовать LINQ, чтобы описать то, что вы хотите более четко.Например, можете ли вы написать что-то вроде:
ie.Body.TextFields.
Where(tf => !string.IsNullOrWhiteSpace(tf.ClassName) && tf.ClassName.Contains("classname")).ToList().
Foreach(tf => tf.Value = "Your Text");
Я бы уточнил это еще больше, уменьшив количество раз, когда я сканирую коллекцию, выполнив что-то вроде:
ie.Body.TextFields.ToList().
Foreach(tf => {
if(!string.IsNullOrWhiteSpace(tf.ClassName) && tf.ClassName.Contains("classname")) {
tf => tf.Value = "Your Text"
}
});
«Найти»Спецификаторы .By * "также помогают WatiN работать с нужными коллекциями быстрее и являются более элегантным сокращением для того, что я написал выше:
ie.Body.TextFields.Filter(Find.ByClass("class")).ToList().ForEach(tf => tf.Value = "Your Text");
И, как последний совет, это* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ”*” Не ”Это" не "" »”. "” ”" »» ”» »" »». "” »” "” »." * ”” ”.” ”” "” »." ””.
Надеюсь, это поможет.Я ищу способы ускорить свои собственные тесты.