Вынести в общий код повторяющиеся блоки шаблона

gexweb

Client
Регистрация
04.12.2016
Сообщения
148
Благодарностей
23
Баллы
18
Покажите как правильно вытащить в общий код вот такой блок и как его вызвать в дальнейшем с разными значениями путей xPath:
Эмуляция:
// Дополнительные параметры эмуляции мыши
tab.FullEmulationMouseSetOptions(random.Next(4,5),random.Next(4,5),random.Next(4,5), 5, 5, 5);
// Объявляем HTML элемент
HtmlElement input = tab.FindElementByXPath("ЗДЕСЬ ЗНАЧЕНИЕ МЕНЯЕТСЯ",0);
// Проверка наличия html элемента
if (input.IsVoid) throw new Exception("Не найден элемент XPath");
// Перемещаем мышь к заданному html элементу
tab.FullEmulationMouseMoveToHtmlElement(input);
// Микро-пауза
System.Threading.Thread.Sleep(random.Next(150, 300));
// Клик в текущем положении мыши
tab.FullEmulationMouseClick("left","click");
// Микро-пауза
System.Threading.Thread.Sleep(random.Next(150, 300));
// Ввод имени
instance.WaitFieldEmulationDelay();
instance.SendText(project.Variables["name"].Value, random.Next(100,200));
// Микро-пауза
System.Threading.Thread.Sleep(random.Next(300, 800));
// Дополнительные параметры эмуляции мыши
tab.FullEmulationMouseSetOptions(random.Next(4,5),random.Next(4,5),random.Next(4,5), 5, 5, 5);
// Объявляем HTML элемент
HtmlElement klk = tab.FindElementByXPath("ЗДЕСЬ ЗНАЧЕНИЕ МЕНЯЕТСЯ",0);
// Проверка наличия html элемента
if (klk.IsVoid) throw new Exception("Не найден элемент XPath");
// Перемещаем мышь к заданному html элементу
tab.FullEmulationMouseMoveToHtmlElement(klk);
// Микро-пауза
System.Threading.Thread.Sleep(random.Next(150, 300));
// Клик в текущем положении мыши
tab.FullEmulationMouseClick("left","click");
Еще интересует синтаксис вот этой строчки:
instance.SendText(project.Variables["name"].Value, random.Next(100,200));
Можно ли здесь использовать "локальную" переменную из кода не передавая ее значение переменной проекта? Не делая вот так: project.Variables["name"].Value = name;
Спасибо)
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Как вариант
 

Вложения

  • Спасибо
Реакции: gexweb

gexweb

Client
Регистрация
04.12.2016
Сообщения
148
Благодарностей
23
Баллы
18

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Удалил ограничения
 

Вложения

gexweb

Client
Регистрация
04.12.2016
Сообщения
148
Благодарностей
23
Баллы
18

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63

gexweb

Client
Регистрация
04.12.2016
Сообщения
148
Благодарностей
23
Баллы
18
Сделать передачу путей при вызове, аналогично как передается instnce и project
Я не понимаю как это сделать. Просто код я и так запускал, находил пример на форуме. Мне как раз не ясно как передать пути xPath в этот блок. Как это выглядит и вызывается. Я конечно понимаю что можно кучу одинаковых блоков в общем коде настряпать с разными путями и вызывать нужный)))
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 923
Благодарностей
1 123
Баллы
113
Я не понимаю как это сделать. Просто код я и так запускал, находил пример на форуме. Мне как раз не ясно как передать пути xPath в этот блок. Как это выглядит и вызывается. Я конечно понимаю что можно кучу одинаковых блоков в общем коде настряпать с разными путями и вызывать нужный)))
Ну откуда то эти пути должны же браться, можно из переменных проекта их подтягивать как вариант
 

gexweb

Client
Регистрация
04.12.2016
Сообщения
148
Благодарностей
23
Баллы
18

radv

Client
Регистрация
11.05.2015
Сообщения
3 788
Благодарностей
1 952
Баллы
113

gexweb

Client
Регистрация
04.12.2016
Сообщения
148
Благодарностей
23
Баллы
18
Спасибо работает!:ay:
 

gexweb

Client
Регистрация
04.12.2016
Сообщения
148
Благодарностей
23
Баллы
18
Еще интересует синтаксис вот этой строчки:
instance.SendText(project.Variables["name"].Value, random.Next(100,200));
Можно ли здесь использовать "локальную" переменную из кода не передавая ее значение переменной проекта? Не делая вот так: project.Variables["name"].Value = name;

Все просек сам, спасибо всем)
 
Последнее редактирование:

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)