我有一个包含以下代码的测试文件。页面打开,前三个测试运行,但接下来的三个测试不运行。他们不会失败。他们只是不跑。
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_ok
,{{1 },click_ok
)。
xpath问题type_ok
只需要删除双引号。
答案 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”)]');
只需要删除双引号。