AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
Watij
Spirit аватар
Offline
Зарегистрирован: 19.07.10

Watij - это чистый Java API, созданный, чтобы решить автоматизацию веб-приложений. Основанный на простоте Watir и улучшенный возможностями Java. Watij автоматизируетфункциональное тестирование веб приложений через реальный браузер.Скачать Watij можно здесь. Для примера вот скрипт, который выполняет такой Test Case:

Description Data input Expected Result
Пользователь заходит на страницу http://komarichina.appspot.com   Отображается главная страница
Пользователь выбирает раздел "Contact"   Отображается страница "Contact"
Пользователь ничего не вводим в поля и выбирает кнопку "send" name=""
email=""
text=""
Отображаетются сообщения об ошибках

"Name is required."
"Text is required."
"Email is required."

Пользователь вводит данные в поля формы и нажимает кнопку "send" name="Galina"
email="admin@gmail.com"
text="Hello! I'm use your script"
Отображается сообщение "Thank you"
IE ie = new IE();  
ie.start("http://komarichina.appspot.com");  
ie.link("contact").click();  
ie.form(name, "sendMailForm").submit();  
if (!ie.containsText("Name is required.") ||  
        !ie.containsText("Email is required.") ||  
        !ie.containsText("Text is required.")) {  
    throw new Exception("Informational messages about required fields don't exists");  
}  
ie.textField(name, "name").set("Galina");  
ie.textField(name, "email").set("admin@gmail.com");  
ie.textField(name, "text").set("Hello! I'm use your script");  
ie.form(name, "sendMailForm").submit();  
if (!ie.containsText("Thank you.")) {  
    throw new Exception("Informational message \"Thank you.\" are exists");  
}  
System.out.print("The script is executed");  
ie.close();  
 

В распакованной папке Watij запустим launchWatijBeanShell.bat и построчно введем наш скрипт

Можно так же запустить скрипт целиком, для этого заходим File->Workspace Editor, в Workspace Editor выбираем File->Open->выбираем наш скрипт, затем Evaluate->Eval in Workspace. После чего начинается выполнение нашего скрипта, после его окончания мы видим, что в консоле ошибок нет.

Offline
Зарегистрирован: 01.09.11
  if (!ie.containsText("Thank

 

 

if (!ie.containsText("Thank you.")) {

throw new Exception("Informational message \"Thank you.\" are exists");

В переводе - если на странице нет текста Thank you вылетает эксепшн что сообщение присутствует. Долго медитировал, все равно не понял.

Offline
Зарегистрирован: 08.03.12
Watir- соединение с базой данных

У меня возникла проблемка с соединением с БД.

Опишу свою ситуацию:

Есть веб-приложение, где я создаю реквест. После его сохранения я могу проверить его присутствие со стороны UI и DB (вручную). Хочу сделать так, чтобы после создание реквеста ( эта часть уже автоматизированная) совершалось автоматичесское соединение с базой данных и соответствующей командой указывало на только что созданный мной реквест (например, select * from my_request order by request_id desc). И как проверить, соответствует ли эта последняя запись в БД именно моему новосозданному реквесту или нет.        

В интернете нашла вот такой код:

connection = OCI8.new( 'UserName', 'password', 'ip:port/scheme')
cursor = connection.exec('select * from table')
while r = cursor.fetch_hash
r.each {|key, value| puts "#{key} is #{value}" }
end
puts cursor.row_count
cursor.close
connection.logoff
 

Я использовала только часть его:

 

require

'oci8'

connection = OCI8.new( 'мой логин', 'мой пароль', 'название БД')

cursor = connection.exec('select * from sm_programs order by program_id desc;')

cursor.close

connection.logoff

 

Запускаю с командной строки. Выдает ошибку

 

У меня OCI8 инсталирована
 Tnsnames.ora настроен
 

Пользуюсь:

DB oracle
PLSQL Developer


Подкажите, как можно решить мою проблему?

Спасибо
  
 

dzhariy аватар
Offline
Зарегистрирован: 22.12.11
Ох, уж этот

Ох, уж этот Oracle... 

Попробуйте протестировать соединение с БД при помощи Oracle Network Manager, со стороны клиента и базы данных (если у вас клиент и БД на разных серверах)

 

Offline
Зарегистрирован: 29.03.12
Watij - выпадающий список

Здравствуйте, у меня возникла следующая проблема:

Есть веб-приложение и мне надо выбрать из выпадающего списка значение.

Ввожу 'lon' в текстовое поле следующим образом:

ie.textField(id, "Search-OriginDestinationInformation-Destination-location_input").set("lon");

Далее необходимо в появившемся списке выбрать конкретное значение ( например, где id='CITY_LON_GB' ).

Список задан при помощи <ul><li> ...</li></ul>:

 

 

Подскажите пожалуйста как это можно сделать?

 

Спасибо,

Вероника

Offline
Зарегистрирован: 23.01.12
короче так: Selenium

короче так:

 

Selenium WebDriver + Java.

 

driver.getElement(By.id("Search-OriginDestinationInformation-Destination-location_input"));

забираем элемент списка. Дальше по кривому коду видно что нужно перейти на next sibling element от этого div с id "Search-OriginDestinationInformation-Destination-location_input".

Пишем функцию:

public WebElement getChildAfterNextSiblingElement(String id, int nodeIndex){

WebElement elem = null;
elem = (WebElement)((JavascriptExecutor)PageLoader.GetInstance()).executeScript("return one('" + id + "').nextSibling.childNodes[" + nodeIndex + "]""); //посмотрите тут со скобками так как в єклипсе он красиее чем на сайте виглядит)
return elem;
}
 
Что єта зараза следает: 1. one() это тоже самое то  driver.getElement(By.id("id")). 2. nextSibling. - заберет <ul> после div 3. .childNodes[" + nodeIndex + "]"") - чайлдние елементі списка дергать будет
 
getChildAfterNextSiblingElement("Search-OriginDestinationInformation-Destination-location_input", 0).click(); должно кликнуть по первому, в зависимости от индекса чайлда и следующих всех, индексация от - 0 !
 
 
 
 
Automation QC in Global Logic
Offline
Зарегистрирован: 29.03.12
Спасибо Taras  за помошь в

Спасибо Taras  за помошь в Selenium, но в настоящий момент мне хотелось бы сделать это с помощью Watij (я сейчас изучаю этот инструмент).

Offline
Зарегистрирован: 23.01.12
executiionscript есть там

executiionscript есть там ?

Есди есть то смысл тот же)

Automation QC in Global Logic
Offline
Зарегистрирован: 29.03.12
Как показал поиск по папке с

Как показал поиск по папке с распакованным watir в нем есть executeScript, осталось научиться с ним и с другими методами работать=)

Спасибо!

Offline
Зарегистрирован: 15.10.11
извините конечно но, мне

извините конечно но, мне одному это напоминает связку селениум рц+джава?