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

Проверка базы данных с помощью Selenium


(Lenuzza) #1

Добрый день! 

Только начинаю осваивать Selenium. и столкнулась со следуущей проблемой (заранее простите, может такой вопрос уже обсуждался).

Нужно каким-то образом проверять изменения в БД после тех или инных действий на сайте. Подскажите, как это можно реализовать?

Заранее спасибо.


(re1ax) #2

У Селениума нет такого функционала, он предназначен только для функционального веб-тестирования. Изменения в БД можно смотреть при помощи того языка программирования, на котором вы пишете скрипт (если используете связку ЯП + Selenium RC или ЯП + Selenium WebDriver). Если же вы используете Selenium IDE для написания скриптов, то я даже не знаю как вам помочь.


(Mykhailo Poliarush) #3

а как и на чем вы пишите свои тесты?


(Lenuzza) #4

пока еще только выбор тулзовин. нужно каким-то образом автоматизировать тестирование сайта, и в добавок проверять БД практически после каждого сценария.


(re1ax) #5

Python + Webdriver. Это позволяет использовать всю мощь выбранного ЯП"а для решения возникающих проблем таких как - попиксельное сравнение картинок, получение\запись информации в БД, проверка почтового ящика и т.д.

P.S. Упс, не заметил на чей коммент отвечаю.


(Mykhailo Poliarush) #6

Ну зато теперь я знаю на чем вы автоматизируете. А почему выбор пал на питон?


(Mykhailo Poliarush) #7

можно еще  посмотреть в сторону robot framework, он умеет подключать разные модули, а также без проблем можно подключить любую библиотеку из питона или джавы

хотя если вы будете иметь какой то язык программирования то вы без проблем сможете реализовать любую логику проверки БД


(re1ax) #8

Случайно исторически сложилось.) На прошлой работе потребовалось попытаться внедрить автоматику проверки флеша и выбор пал на Ranorex. Тогда он поддерживал C#, VB и Python. Сравнив языки я выбрал Python (в основном он меня привлёк своей чистотой кода). Со временем я понял, что это очень мощный язык и по своим скриптовым способностям он превосходит C#. Когда перешёл на текущую работу и понадобилось осваивать Selenium, то естественно я стал смотреть в сторону связки Python + Webdriver и сейчас успешно пишу скрипты на этом. Уже есть своя библиотека, которая позволяет писать скрипты обычными командами без доп обвязки (всмысле писать просто driver.click("xpath_к_кнопке") без try - except и прочей мишуры), если получится решить вопрос с начальством, то выпушу её для оценки сообщества. Вдруг ещё кому-то она подойдёт.


(johan) #9

если Java то могу посоветовать смотреть в сторону Hibernate


(Mykhailo Poliarush) #10

я очень бы хотел посмотреть на библиотеку, если конечно есть такая возможность

да и наверное не только я, но и другие участники форума тоже


(Shaman) #11

у меня есть подозрение что для банальной проверки базы достаточно будет обычной работы с JDBC, Hibernate - фреймворк для persistence и врядли автотесты настолько глубоко работают с базой что появляется необходимость длительного хранения обьектов.

 

я использую java.sql в своих автотестах - он позволяет выполнять простые запросы в базу и парсить респонс без каких либо трудностей.

 

 


(johan) #12

Kак раз наоборот Hibernate намного легче и намного гибче чем JDBC.

Если из данных, которые вытягиваются из БД, строятся какие-то объекты или их свойства во фраймворке (например для сравнения какого-либо листинга на странице со значениями в БД), то по моему HIbernate это лучший вариант.
Если же простенькие запросы типа посчитать что-то, то да , Hibernate - будет слишком много для этого.

(Shaman) #13

собственно это  то о чем я говорил выше:)


(Lenuzza) #14

Спасибо всем! дельные советы получила. Теперь хоть знаю, куда копать!


(aspirin) #15

websocket, comet etc