为什么WWW :: Selenium中的所有测试都没有出现?

时间:2012-03-05 17:12:30

标签: perl selenium-rc

我有一个包含以下代码的测试文件。页面打开,前三个测试运行,但接下来的三个测试不运行。他们不会失败。他们只是不跑。

my $sel = Test::WWW::Selenium->new(
    host         => 'localhost',
    port         => 4444,
    browser      => 'firefox',
    browser_url  => $uri,
    singlewindow => 1,
);

$sel->open_ok('/');
$sel->is_element_present_ok('username');
$sel->is_element_present_ok('password');
$sel->is_text_present('Username');
$sel->is_text_present('Password');
$sel->is_text_present('Login');

然后我登录表格。

$sel->type("name=username", $username);
$sel->type("name=password", $password);
$sel->submit('dom=document.forms["formfield"]');
$sel->is_text_present('Change Log');

我能够登录并且页面上出现“更改日志”文本但测试从未运行。对不存在的文本的测试也不会运行。

$sel->is_text_present('Fee based gumbo');

任何人都知道为什么这些测试不会运行?

我还有一个链接测试

<a style="text-decoration:none;" href="/settings">Settings</a>

作为

$sel->click('//a[contains(@href, "/settings")]');

导致测试崩溃。是否有理由不能找到它?

编辑:

我一直在使用WWW::Selenium页面,而不是Test::WWW::Selenium

此模块是WWW :: Selenium子类,提供了一些用于编写测试的方法。对于每个Selenium命令(openclicktype,...),都有相应的<command>_ok方法检查返回值(open_ok,{{1 },click_ok)。

xpath问题type_ok只需要删除双引号。

1 个答案:

答案 0 :(得分:0)

我一直在http://search.cpan.org/~lukec/Test-WWW-Selenium-1.32/lib/Test/WWW/Selenium.pm使用WWW :: Selenium页面而不是Test :: WWW :: Selenium

此模块是WWW :: Selenium子类,提供了一些用于编写测试的方法。对于每个Selenium命令(打开,单击,键入,...),有一个相应的_ok方法检查返回值(open_ok,click_ok,type_ok)。

xpath问题$ sel-&gt; click('// a [contains(@href,“/ settings”)]');

只需要删除双引号。