Захаров Виктор

Поиск элементов на странице не имеющих «class» и «id», но содержащих текст (Selenium WebDriver, C#)

Рано или поздно при разработке автоматических тестов вы столкнётесь с задачей, когда надо будет найти элемент (html тег), у которого нет атрибутов «class» и «id». Представьте ситуацию, когда на странице есть несколько элементов без «class» и «id» и все они содержат одинаковый текст, но в определённый момент только один из них видимый, а остальные в коде есть, но визуально не видны.

Подробнее »

Как реализовать ожидание скрытия/появления элемента на странице (Selenium WebDriver, C#)

В процессе написания автоматических тестов я столкнулся с проблемой, когда необходимо было дождаться скрытия какого-либо элемента и далее продолжить выполнение тестов. К примеру, нажимается кнопка и сервис выполняя какие-либо действия показывает временно панель прогресса, чтобы пользователь не думал, что всё зависло. Если не поставить ожидание скрытия данной панели, то автоматические тесты попытаются продолжиться без ожидания. Что в этом случае произойдёт? Правильно, тесты будут провалены, так как остальные элементы страницы недоступны, пока поверх всего находится панель отображающая прогресс выполнения текущей операции.

Подробнее »

В Xamarin Studio отключается отладка (debugging), что делать?

Создаю автоматические тесты в «Xamarin Studio» с использованием связки «C# + NUnit + Selenium WebDriver». Ответ на вопрос «почему именно Xamarin Studio?» прост: элементарная настройка, выполнение тестов в самой студии с выводом результатов. Можно создавать тесты и в Visual Studio, но там проект DLL в самой студии не запустишь и требуется использовать программу от создателей «NUnit», для запуска тестов из DLL, что весьма неудобно при отладке тестов, так как надо постоянно пересобирать проект и идти в стороннюю программу.

Подробнее »

Многопоточность в C#: как работать с потоками в C# и как в потоке обращаться к элементам формы

Наступил день, когда мне понадобилась многопоточность в C#. Я мог бы и не использовать в приложении многопоточность, но тогда в момент работы приложения создаётся впечатление, что приложение зависает в момент, когда приложение ожидает завершения какой-либо операции через .Wait().

Подробнее »

Как увеличить яркость в игре Doom 4 (2016)

Иногда, чтобы отдохнуть от работы и разгрузить свой мозг, я использую принцип «наиграться», т.е. сажусь за игру и играю, не думая ни о чём. Я не геймер, поэтому этот принцип действует раз в полгода и максимум два выходных дня, чаще хватает одного дня. Теперь о «Doom 4». Услышал я о данной игре от коллеги, который её расхваливал, как только мог. Решил я посмотреть на данного «зверя». Установил, запускаю игру и при первом запуске просят отрегулировать яркость экрана в игре. И при этом пишут примерно следующее «регулируйте до тех пор, пока левый логотип не станет едва заметным». Точной формулировки не помню, но она примерно такая. Я воспринял их рекомендацию буквально.

Подробнее »

Как открыть и закрыть форму из другой формы в C# (правильное решение)

C# изучаю не так давно и встала передо мной недавно задача:
— открыть Form2 при нажатии на кнопку в Form1;
— спрятать Form1;
— открыть Form1 при закрытии Form2.
На первый взгляд задача показалась элементарной, но… возникли нюансы — при закрытии приложения оно не выгружалось и в диспетчере задач мы наблюдали его работу, хотя визуально оно как бы закрылось.

Подробнее »

Как создать генератор паролей на C#

Не так давно начал осваивать азы C#. До этого я создавал утилиты и небольшие программы на Visual Basic включая Visual Basic for applications. За плечами техникум и институт, но там, как ни странно, меня не учили программировать вообще, поэтому Visual Basic я изучал самостоятельно, а теперь перешёл на C#.

Подробнее »

Почему Google Chrome автоматически перезагружает вкладки (страницы) и как это исправить

Разработчики некоторых приложений вводя новый функционал не задумываются над тем к каким последствиям это может привести. Вот и разработчики Google Chrome постарались удивить всех пользователей, в том числе и меня. Работая в программе Google Chrome у меня обычно открыто несколько вкладок (до 10). Слушаю музыку, составляю статью в блоге, ищу материалы, выполняю определённые задачи и т.д. И последнее время (сколько не помню) программа начала вести себя «борзо» — Google Chrome автоматически перезагружает вкладки, которые были не активны, но на которые я переключался.

Подробнее »

Хочешь поймать вирус? Поставь антивирус Maldet!

Разместил на одном из хостингов сайт коммерческой направленности. На следующий день мне пришло сообщение, что один из файлов заражён и функционал на моём хостинге ограничен. Этот файл входит в дополнение к сайту, который куплен мной и его писал сторонний разработчик, который многим известен и многие ему доверяют. Но на всякий случай я прогнал данный файл по всем системам проверки, и никто не сообщил мне, что он заражён. Тогда я отправил файл создателям Virusdie — всё хорошо.

Подробнее »

Воспитание детей (часть 1). Мысли вслух

У меня есть дочка, занимаясь её воспитанием я постоянно обращаю внимание на поведение других мам и пап и скажу честно, что среди родителей очень много неадекватных людей. Это и стало причиной написания данного материала.

Сегодня хочу с вами поделиться мыслями по поводу воспитания детей, а точнее озвучить некоторые методики из воспитательного процесса, которые применяются мной при воспитании ребёнка. О методиках нигде не читал, а вырабатывал в процессе общения с ребёнком, поэтому в данном материале озвучиваю свою собственную точку зрения, основанную на собственном опыте. Возможно кто-то применяет аналогичные методики, а кто-то плевать хотел на все методики и в процессе воспитания впадает в две крайности – деспотизм или вседозволенность для ребёнка. Будьте с этим осторожнее, так как крайности опасны.

Подробнее »