2012-03-05 57 views
1

我有一个包含以下代码的测试文件。页面打开,前三个测试运行,但接下来的3个不运行。他们不会失败。他们只是不跑。为什么WWW :: Selenium中的所有测试似乎都不运行?

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命令(open,click,type,...),都有相应的<command>_ok方法检查返回值(open_okclick_ok,type_ok)。

xpath问题$sel->click('//a[contains(@href, "/settings")]');只需要删除双引号即可。

回答

0

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

该模块是一个WWW ::硒子类提供了一些用于编写测试有用的方法。对于每个Selenium命令(open,click,type,...),都有一个对应的_ok方法来检查返回值(open_ok,click_ok,type_ok)。这个xpath的问题$ sel-> click('// a [contains(@href,“/ settings”)]');

只需要删除双引号即可。

相关问题