Автоматизация тестов в SimpleTest (PHP)
#1
Отправлено 06 июля 2005 - 16:52
Если люди активно использующие SimpoleTest для тестирования?
Познакомился с ним недавно, постепенно осваиваю, возникла идея написания несложного мастера для автоматизации написания тестов WEBUI.
Кому интересно можно посмотреть - http://mrjazz.design...nload/STgui.zip
(255Kb). Возможно я просто изобретаю велосипед?
Скорость работы SimpleTest несколько огорчает, есть идея написать свой несложный скриптовый язык для тестов интерфейса.
Хотелось бы узнать мнение относительно рациональности подобных разработок.
#2
Отправлено 06 июля 2005 - 20:01
Хотелось бы узнать мнение относительно рациональности подобных разработок.
http://selenium.thoughtworks.com/
#3
Отправлено 06 июля 2005 - 20:21
JavaScript рулит, не надо делать новых языков без особой на то необходимости.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#4
Отправлено 07 июля 2005 - 09:16
Спасибо за ссылку, действительно очень интересный проект. Чего только стоит XPath на JavaScript! Начал только разбираться, не могу понять там есть возможность автоматизированного написания тестов? Собственно этого ради и затевалось. Визуальная среда для написания тестов.
#5
Отправлено 07 июля 2005 - 14:03
Чего только стоит XPath на JavaScript!
Сразу предупреждаю - xpath под IE тормозит жутко.
Начал только разбираться, не могу понять там есть возможность автоматизированного написания тестов? Собственно этого ради и затевалось. Визуальная среда для написания тестов.
Народ умудряется связывать это с Fitnesse.
Получается визуально
Мне показалось не слишком удобным
Я пошел другим путем
Я пишу testFixtures на JavaScript-е, из которых потом генерируется html с selenium-овскими коммандами.
В итоге я имею: GUI Map, ~application model, ability to reuse code (selenium lacks this ).
+ Возможность запускать тесты под Safari, IE.Win, Firefox Win/Mac.
Никакого capture-playback.
Только code->generate->playback
Но это все быстро. И очень просто.
Из визуальных средств - редактор на выбор (Visual studio, Eclipse, ...) + IE DOM Inspector.
Ниже приведен пример теста (выдрано из рабочего suite, остальные test cases убраны, дабы не мешались).
Из него одного генерируется последовательность из ~650 селениумовских комманд.
this.test_008_Recents= function( aut ) { this.description = "Recents"; function comment( text ) { aut.ui.comment( text ) }; this.setUp = function() { aut.open(); aut.login.login_as( aut.cfg.user.valid_name, aut.cfg.user.valid_pass ); } this.tearDown = function() { aut.main.logout(); aut.login.is_ok(); } this.testCanHaveUpTo_10_Recents = function() { comment( "clear recents" ); aut.main.recents.clear(); aut.main.recents.is_blank(); comment( "add " + (aut.main.recents.max_recents + 1) + " customers" ); for( var i = 0; i < aut.main.recents.max_recents + 1; ++i ) { comment( " add: " + (i + 1) ) aut.add_customer(); aut.customers.ee.is_view_ok(); comment( " navigate away" ); aut.main.choose_section( "Customers" ); aut.customers.is_ok(); } comment( "verify that exactly " + aut.main.recents.max_recents + " Recents exist" ) for( var i = 0; i < aut.main.recents.max_recents; ++i ) { aut.ui.verify_element_present( aut.ui_map.main.recents.lnk_fn_link_id( i ) ); } aut.ui.verify_element_not_present( aut.ui_map.main.recents.lnk_fn_link_id( aut.main.recents.max_recents ) ); comment( "try to navigate all of them" ); for( var i = 0; i < aut.main.recents.max_recents; ++i ) { aut.ui.click( aut.ui_map.main.recents.lnk_fn_link_id( i ) ); aut.customers.ee.is_view_ok(); aut.main.choose_section( "Customers" ); aut.customers.is_ok(); } comment( "clear recents" ); aut.main.recents.clear(); aut.main.recents.is_blank(); } }
#6
Отправлено 08 июля 2005 - 08:28
Но как по мне не так уж это визуально... А я добиваюсь именно этого (окончательно убедился в том что проект имеет право на жизнь). Прикрутил скриптовый интерпретатор с паскалевским синтаксисом, продолжаю ковырят, по старой ссылке можно скачать новую версию. Самому интеремно что из этого выйдет. Конечно работать это будет только в IE (это ограничение) но в остальном! Гибкость и простота! А главное все визуально! Если это кому нибудь интересно, пишите буду держать в курсе развития проекта.
#7
Отправлено 08 июля 2005 - 14:31
Но как по мне не так уж это визуально... А я добиваюсь именно этого (окончательно убедился в том что проект имеет право на жизнь). Прикрутил скриптовый интерпретатор с паскалевским синтаксисом, продолжаю ковырят, по старой ссылке можно скачать новую версию. Самому интеремно что из этого выйдет.
Тут дело такое.
Если хочется попрограммировать для удовольствия - то выбор один.
Если нужно тесты автоматизировать, причем срок - "вчера", то другой.
Конечно работать это будет только в IE (это ограничение) но в остальном! Гибкость и простота! А главное все визуально! Если это кому нибудь интересно, пишите буду держать в курсе развития проекта.
Замечательно.
Но у меня случай из второго "если".
И возможность тестирования под Safari/Firefox несколько критична.
Попробуйте проект на sourceforge вести - может единомышленников найдете.
Или сделайте visual interface over existing project (selenium/watir/...).
Б.Г. в помощь.
#8
Отправлено 08 июля 2005 - 14:39
Или сделайте visual interface over existing project (selenium/watir/...).
А это что?
#9
Отправлено 08 июля 2005 - 14:57
Или сделайте visual interface over existing project (selenium/watir/...).
А это что?
Есть selenium. Есть watir.
Они делают то, что нужно (насколько я понимаю). Но - не визуально.
Попробуйте сделать визуальную среду для создания тестов в формате, совместимом с существующими тулзами. Вокруг них есть уже сложившееся community. Используйте их опыт. Помогите им своим опытом.
И Джа поможет Вам.
P.S. есть для selenium-а test recorder. Называется Selenium Assist. но у меня он не прижился
#10
Отправлено 12 июля 2005 - 11:52
Есть selenium. Есть watir.
Они делают то, что нужно (насколько я понимаю). Но - не визуально.
Попробуйте сделать визуальную среду для создания тестов в формате, совместимом с существующими тулзами. Вокруг них есть уже сложившееся community. Используйте их опыт. Помогите им своим опытом.
И Джа поможет Вам.
Да, спору нет... Но JavaScript - не моя парафия - 100%.
А опыт других проектов я бесспорно использую, вот например благодаря одному freeware проекту у меня поддержка скриптового языка, а другому opensource полноценный редактор кода.
Огромное спасибо за еще одну полезную ссылкуP.S. есть для selenium-а test recorder. Называется Selenium Assist. но у меня он не прижился
#11
Отправлено 12 июля 2005 - 13:51
Да, спору нет... Но JavaScript - не моя парафия - 100%.
дык, watir - на Ruby написан. и тесты для него AFAIK на ruby же и пишутся.
Selenium - вообще все равно на чем написан
то, что я тесты на JavaScript писал - это просто:
1. дело привычки
2. слабая надежда на то, что руки дойдут и я вместо WSH-a буду это дело прямо в browser-e запускать.
а так - можно было и python, perl или ruby писать (минус п.2). С тем же успехом.
#12
Отправлено 22 июля 2005 - 15:23
У кого работает СимплТест?
У меня при вызове тестового примера ошибка
Fatal error: Call to a member function on a non-object in C:\Inetpub\wwwroot\simpletest\web_tester.php on line 680
когда вызываю в браузере runtest.php.
Код
file runtest.php
<?php require_once('simpletest/web_tester.php'); require_once('simpletest/reporter.php'); $test = &new GroupTest('Web site tests'); $test->addTestFile('lastcraft_test.php'); exit ($test->run(new TextReporter()) ? 0 : 1); ?>
file lastcraft_test.php
<? class TestOfLastcraft extends WebTestCase { function testHomepage() { $this->assertTrue($this->get('http://www.lastcraft.com/')); } } $test = new TestOfLastcraft(); $test->testHomepage(); ?>
Может я чего-то не понимаю либо в коде СимплТеста баг...
Просьба помочь
#13
Отправлено 22 июля 2005 - 16:01
$test = new TestOfLastcraft();
$test->testHomepage();
если ты его добавляешь в групповой тест?
#14
Отправлено 25 июля 2005 - 14:07
Ты знаешь, я вроде разобрался. Спасибо.
Вообще мне достаточно симпатичен этот СимплТест. Вот только маны у него не совсем понятные имхо ...
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных