Web应用程序的集成测试

khe*_*lll 8 ruby python perl integration-testing automated-tests

我想对Web应用程序进行完整的集成测试.我想测试很多东西,比如AJAX,使用多个浏览器定位和存在某些短语和HTML元素.我正在寻找一种工具来进行这种自动化测试.

另一方面; 这是我第一次使用集成测试.在进行此类测试时是否有任何具体建议?还有任何教程吗?

(注意:我的后端代码是使用Perl,Python和Django完成的.)

谢谢!

Ten*_*she 11

如果您需要进行全面测试,包括利用AJAX等浏览器功能,那么我会推荐Selenium.Selenium启动浏览器并控制它以运行测试.

它支持所有主要平台和浏览器.Selenium本身是用Java实现的,但如果它用于通过其用户界面测试Web应用程序,则这不是真正的问题.

Selenium测试是HTML表中的一系列命令,支持的命令已有详细记录.还有一个IDE实现为Firefox插件,可用于记录和运行测试.但是,在IDE中创建的测试脚本可用于针对任何支持的浏览器进行测试.


dra*_*tun 11

Selenium是一个很好的方式去.Test::WWW::Selenium要将其与Perl一起使用,请使用CPAN模块.

以下是其pod中的一个示例:

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;
Run Code Online (Sandbox Code Playgroud)

以下是一些可能有用的其他链接:

/ I3az /


Ale*_*lli 6

本文中,Noah Gift为Web应用程序集成测试提供了三个主要替代方案:Windmill,Selenium和Twill.Twill不做Javascript,所以让Selenium和Windmill成为您的主要可能性; 礼物充分展示了使用它们的含义,因此您可以选择.

礼物没有提到的一件事是Selenium更受欢迎 - 如果你只是网上搜索风车和硒这两个词,那就不明显了,但这是因为每个人得到(不同数量的;-)假命中.[windmill javascript]给出了325k的点击量,[selenium javascript]给出了1.2M的点击率,这个比例更具代表性.无论如何,重点是,如果你发现它们同样容易和强大,足以满足你的需要,那么你很难选择一个,然后选择硒(即,与人群一起)可能有优势(更多的专家,例如,在SO上回答问题;-)选择一些不那么受欢迎的选择.