将参数传递给Test :: Class Setup方法

时间:2012-05-21 09:03:17

标签: perl testing automation

我需要动态调用selenium中的浏览器。

为实现这一目标,我需要将浏览器名称作为参数发送到Test::Class中的设置或启动方法。我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

我认为你想要一个浏览器,然后重复使用它进行一些测试,然后再将其销毁?因此,只需使用全局来保存您创建的浏览器即可。例如:

my $browser = '';
sub b_connect : Test(startup) {
   $browser = WWW::Selenium->new( host => "localhost",
                              port => 4444,
                              browser => "*iexplore",
                              browser_url => "http://www.google.com",
                            );
};

sub b_disconnect : Test(shutdown) {
  $browser->close()
};

在测试中使用$ browser var。

答案 1 :(得分:0)

sub startup : Test( startup ) {

    my ($self) = @_;
    my $arg = shift;

     $self->{browser_type} = $arg->{browser};

    -------------------------------#some other code for myself

    $self->{browser} =
        Test::WWW::Selenium->new(
            host        => $self->{host},
            port        => $self->{port},
            browser     => $self->{browser_type},
            browser_url => $self->{test_url},
    );

在我的测试脚本中,我需要使用以下

进行调用
my $t1 =  Test::Class::Selenium::TestCases->new(browser=>$browser,);
Test::Class->runtests($t1);