2009-11-17 3 views
8

Я хочу выполнить полное интеграционное тестирование для веб-приложения. Я хочу протестировать многие вещи, такие как AJAX, позиционирование и наличие определенных фраз и HTML-элементов с использованием нескольких браузеров. Я ищу инструмент для проведения такого автоматического тестирования.Тестирование интеграции для веб-приложения

С другой стороны; это мой первый раз, используя интеграционное тестирование. Существуют ли какие-либо конкретные рекомендации при проведении такого тестирования? Любой учебник также?

(В заметке. Мой бэкэндом код осуществляется с помощью Perl, Python и Django)

Спасибо!

ответ

11

Если вам нужно выполнить полное тестирование, включая использование функций браузера, таких как AJAX, тогда я бы рекомендовал Selenium. Selenium запускает браузер и контролирует его для запуска тестов.

Он поддерживает все основные platforms and browsers. Сам Selenium реализован на Java, но это не проблема, если он используется для тестирования веб-приложения через его пользовательский интерфейс.

Селен-тесты представляют собой последовательность команд в таблице HTML, поддерживаемые команды находятся в нуле documented. Существует также IDE, реализованный как плагин Firefox, который можно использовать для записи и запуска тестов. Однако тестовые скрипты, созданные в среде IDE, могут использоваться для тестирования тестов с помощью любого из поддерживаемых браузеров.

+0

Похоже, что он поддерживает только FF. Любой хороший учебник, чтобы использовать его? – khelll

+0

Selenium поддерживает несколько браузеров для запуска тестов, см. Http://seleniumhq.org/about/platforms.html#browsers. Только запись тестов (с использованием Selenium IDE) является только FF. – codeape

+0

Нет, он также поддерживает IE 7 и 8 и Safari. Лично я использовал его только с FF и IE. На сайте есть хорошая документация, это очень хорошо документированный инструмент. –

1

Я также рекомендовал бы селен. Он получил действительно хороший плагин Firefox, который вы можете использовать для создания ваших интеграционных тестов.

2

Selenium является очень хорошим инструментом для автоматизации тестирования БРАУЗЕРА

Поскольку вы упомянули рубин в тегах, я также рекомендую Webrat, который является хорошим решением тестирования в браузере в Ruby.

+2

Webrat не работает с JavaScript. – brainfck

4

Вы также можете контролировать селен с использованием связывания питона Selenium-RC. Например:

from selenium import selenium 
selenium = selenium("localhost", 4444, "*firefox", 
      "http://www.google.com/") 
selenium.start() 
selenium.open("/") # open google.com 
selenium.type("q", "selenium rc") 
selenium.click("btnG") 
selenium.wait_for_page_to_load("30000") 
selenium.failUnless(selenium.is_text_present("Results * for selenium rc")) 
selenium.stop() 
11

Selenium - хороший способ пойти. Для использования с Perl используйте модуль CPAN Test::WWW::Selenium.

Вот one example от его стручка:

use WWW::Selenium; 

my $sel = WWW::Selenium->new(host => "localhost", 
           port => 4444, 
           browser => "*iexplore", 
           browser_url => "http://www.google.com", 
          ); 

$sel->start; 
$sel->open("http://www.google.com"); 
$sel->type("q", "hello world"); 
$sel->click("btnG"); 
$sel->wait_for_page_to_load(5000); 
print $sel->get_title; 
$sel->stop; 

А вот некоторые дополнительные ссылки, которые, возможно, полезно:

/I3az/

2

Вот еще один вариант, все написано в Python и кросс-браузеров для запуска и записи тестов: Windmill

6

В this article, Ноа Дар делает хорошую работу, представляя три основные альтернативы для интеграционного тестирования веб-приложений : Ветряная мельница, селен и трюк. Twill не делает Javascript, так что Selenium и Windmill оставляют ваши основные возможности; Подарки показывают достаточно того, что использует каждый из них, поэтому вы можете выбрать.

Одна вещь В подарок не упоминается, что Selenium гораздо более популярен - это не очевидно, если вы просто просматриваете веб-страницы каждого из терминов windmill и selenium, но это потому, что каждый получает (разные числа ;-) false hits , [windmill javascript] дает 325k хитов, [selenium javascript] дает 1.2M хитов, и это соотношение является более представительным. Во всяком случае, дело в том, что, если вы найдете их одинаково легкими и достаточно мощными для своих нужд, так что вам нелегко выбрать один, а выбор селена (т. Е. Посещение толпы) может иметь преимущества (больше экспертов вокруг, например, на SO, чтобы отвечать на вопросы ;-) wrt выбирает несколько менее популярную альтернативу.

0

Еще один отличный инструмент для тестирования браузера, который построен как библиотека Ruby и использует Ruby для сценариев: Watir. Существует также плагин для Firefox Watir так же, как селен называется
Firewatir размещается на Google Code

1

TestPlan является отличным инструментом для тестирования веб общего назначения. Он обеспечивает как бесконтактный сервер, так и селен. Бэкэнд Selenium должен позаботиться о тестировании во всех популярных браузерах. Он также имеет собственный язык сценариев, который позволяет быстро писать и тестировать, хотя Java также может использоваться.

Например, это относится к странице и представляет форму поиска и проверяет, что он нашел правильный результат.

GotoURL http://myapp.com/ 

SubmitForm with 
    %Params:search% some term 
end 

Check //div[@id='results'][contains(text(),'some term'] 

 Смежные вопросы

  • Нет связанных вопросов^_^