0

セレンでブラウザを動的に呼び出す必要があります。

これを実現するには、ブラウザー名をパラメーターとして のセットアップまたは起動メソッドに送信する必要がありますTest::Class。どうすればこれを達成できますか?

4

2 に答える 2

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変数を使用するだけです。

于 2012-05-21T19:39:37.383 に答える
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);
于 2012-05-22T05:30:26.773 に答える