Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Selenium C# Nunit3 Element not visible так как вне зоны видимости и браузер не скролит

csharp
selenium
Теги: #<Tag:0x00007f7b6d5c47f8> #<Tag:0x00007f7b6d5c46b8>

(Сергей Кузьмин) #21

если в коде который надо поменять переменная была каждый раз разная то нужно capture

( ) Defines a marked subexpression. The string matched within the parentheses can be recalled later (see the next entry, \n). A marked subexpression is also called a block or capturing group. BRE mode requires ( ).
\n Matches what the nth marked subexpression matched, where n is a digit from 1 to 9. This construct is vaguely defined in the POSIX.2 standard. Some tools allow referencing more than nine capturing groups.

я лично Visual Studio не использую слишком тяжелая - и ответа на знаю так что сарказма в моем вопросе не было


(Ihor Kokhan) #22

Я понял о чем вы. Я не встречал такого. Я вижу 2 варианта:

  1. Заменить все вхождения Click на кастомный метод ExtendedClick (как писал выше автор)

  2. Заменить все вхождения Click на new Actions(Driver).MoveToElement(element).
    Сбилдить и потом уже руками перекинуть в MoveToElement и дописать .Perform(); (или заменить Click() на Click().Perform(); )


(Сергей Кузьмин) #23

Eclise умеет!Capture-eclipse

сам только что узнал - с радостью


(Ihor Kokhan) #24

В студии тоже есть :wink: Спросил у коллег) Я просто никогда не пользовался
2018-10-11_1006


(Alexandr D.) #25

Исходя из того, что у автора проблемных место 100 и более, можно сделать вывод, что там не используется паттерн PO, поэтому и надо менять в куче мест.

А если бы использовался - то поменять надо было бы максимум в парочке.


(Lelik) #26

@Ihor_Kokhan , @sergueik Спасибо, все получилось :blush:

@Noksa Какой именно паттерн вы имеете ввиду?

Как у меня организован проект, вкратце. Есть отдельные классы с объектами страниц (например обекты страницы Логин, объкты страницы Корзина). Есть отдельные классы с ключевыми методами на страницах (Метод залогиниться, Метод добавить корзину, удалить корзину и.т). В этих методах я использую элементы из страницы с объектами.
А так же есть сами тесты которые используют методы Логин, добавить в корзину, удалить корзину.


(Ihor Kokhan) #27

Имеется ввиду Page Object


(Lelik) #28

Имеется ввиду [Page Object](https://automated-testing.info/tags/page-object)

Так вот: Есть отдельные классы с объектами страниц (например обекты страницы Логин, объкты страницы Корзина)

Нашла такой пример.
http://autoqa.org/advanced-webdriver/ispolzovanie-page-object-patterna-selenium-webdriver.html
Только в этом примере и методы и объекты страницы в одном классе, а у меня это разные классы. Потому что много страниц и много методов описывающих разные поведение на каждой странице.