【问题标题】:Why don't all of the tests in WWW::Selenium appear to run?为什么 WWW::Selenium 中的所有测试都没有运行?
【发布时间】:2012-03-05 17:12:30
【问题描述】:

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

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、...),都有一个相应的 &lt;command&gt;_ok 方法来检查返回值(open_ok、click_ok、type_ok)。

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

【问题讨论】:

    标签: perl selenium-rc


    【解决方案1】:

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

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

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

    只需要去掉双引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-18
      • 1970-01-01
      相关资源
      最近更新 更多