Привет, ребята! В этой статье я хотел бы выделить несколько важных областей, которые обычно игнорируются при написании наших тестовых примеров. На начальном этапе важно задать себе и команде несколько вопросов, которые помогут вам составить более точную структуру, которая, вероятно, изменится на более поздних этапах. Существует несколько способов, предоставляемых Selenium Web Driver, с помощью которых вы можете искать веб-элемент, а именно. Id, ClassName, XPath, CSScripting, LinkText, PartialLinkText, Name, TagName и т. д. Когда мы переходим к извлечению веб-элемента, мы должны знать ответы на приведенные ниже вопросы.

  1. Поддерживает ли веб-приложение несколько языков? — Если ответ «да», избегайте поиска элемента с использованием текста LinkText или частичной ссылки, так как они могут меняться в зависимости от языка.
  2. Должна ли автоматизация работать в нескольких браузерах? — Большинство веб-приложений требуют запуска автоматизации в Chrome, IE, FF, Opera и т. д. Если ваш ответ на этот вопрос утвердительный, убедитесь, что написанное вами свойство элемента работает во всех браузерах. По моему опыту, я всегда сталкивался с проблемами при автоматизации с использованием Selenium в браузере IE, НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ использовать CSSScripting, который является более быстрым и согласованным в нескольких браузерах. Я видел несколько случаев, когда есть точное совпадение для Id или ClassName, но преобразование их в CSSScripting дает вам больше гибкости.
  3. Содержит ли ваше приложение компоненты JQuery, JavaScript, Angular JS? Если ответ «да», вам нужно создать отдельные методы для обработки загрузки таких компонентов вместо использования жестко запрограммированного времени [Thread.Sleep(500)]. Используйте приведенный ниже код для обработки таких сценариев:

4. Видите ли вы, что иногда элемент не кликабельный? — Важно, чтобы ваша автоматизация была последовательной. Ваши тестовые случаи должны пройти, если они предназначены для прохождения, и провалиться, если ожидаемые условия не совпадают. Но если ваша автоматизация начала давать сбои и вы наблюдаете непоследовательность в автоматизации тестирования, пришло время оглянуться на свой код и выявить узкие места в коде. Я часто сталкивался с проблемами, когда страница все еще загружается, а ваш код хочет щелкнуть и элемент, что не удается, потому что он либо скрыт, либо не виден, либо еще не готов для щелчка. Чтобы исправить эти проблемы, вы должны написать код, который будет ждать, пока ваш элемент будет готов для щелчка. Ниже фрагмент кода будет ждать, пока элемент будет включен и готов к щелчку.