2

Selenium2でIE6をテストする際にこの問題があります。私は Perl バインディング ( Selenium::Remote::Driver ) を使用していますが、Selenium for Java などの経験がある人からのものであっても、どんな提案でも大歓迎です。

問題は、私がこれをやろうとすると:

my %opt = (
   browser_name    => 'internet explorer',
   version         => '6',
   platform        => 'WINDOWS',
   proxy           => {
       proxyType => 'direct',
   }
);
my $driver = Selenium::Remote::Driver->new(%opt);
$driver->get('http://www.google.com');
my $elem = $driver->find_element('gs_htif0', 'id');
$elem->send_keys('fooooooo');

ブラウザーは開きますが、テストはメッセージAn element could not be located on the page using the given search parameters: gs_htif0,id at ...で終了しますが、IE7 ではすべて正常に動作し、IE ドライバーのドキュメントには IE6 がテスト済みであると記載されています。

その後、ノードを で起動しようとしました"seleniumProtocol": "Selenium"。これは、ドライバーのないブラウザーをテストするためのオプションだと思ったので、ユーザーアクションの「JavaScript エミュレーション」の古い方法でテストできましたが、ブラウザーはそうしませんでした。まったく開始し、メッセージでテストが終了しましたjava.lang.NullPointerException: sessionId should not be null; has this session been started yet?

私のハブ構成は次のとおりです。

{
    "host": null,
    "port": 4444,
    "newSessionWaitTimeout": -1,
    "servlets" : [],
    "prioritizer": null,
    "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
    "throwOnCapabilityNotPresent": true,
    "nodePolling": 5000,

    "cleanUpCycle": 5000,
    "timeout": 300000,
    "browserTimeout": 0,
"maxSession": 5
}

私のノード構成は次のとおりです。

{
    "capabilities":
    [
        {
            "platform": "WINDOWS",
            "browserName": "internet explorer",
            "version": "6",
            "seleniumProtocol": "WebDriver",
            "ensureCleanSession": true
        }
    ],
    "configuration":
    {
        "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
        "maxSession": 1,
        "port": 5555,
        "host": "192.168.1.6",
        "register": true,
        "registerCycle": 5000,
        "hubPort": 4444,
        "hubHost": "192.168.1.34"
    }
}

ノード起動コマンドはjava -jar selenium-server-standalone-2.29.0.jar -role node -nodeConfig node_ie6_conf.json -Dwebdriver.ie.driver="IEDriverServer_2.29x32.exe" > nul

ハブの起動コマンドはjava -jar selenium-server-standalone-2.29.0.jar -role hub -hubConfig hub_conf.json &> dev/null

誰でもこれで私を助けることができますか? 私の感謝。


更新 私の質問の 2 番目の部分では、Selenium::Remote::Driver は webDriver プロトコルでのみ動作すると思いますが、よくわかりません

4

1 に答える 1

0

私の質問の最初の部分では、答えは「はい、それは可能です」です。ハブ、ノード、InternetExplorerDriverが適切に設定されていると仮定すると、IE設定ウィンドウの[セキュリティ]タブ([サービスを開く]-> [インターネットオプション])でセキュリティ設定を構成するだけで済みます。そこで、スライダーを1ポイント下に移動して、「ローカルイントラネット」の「中」レベルを設定する必要があります。

スクリーンショットが英語ではないことをお詫びしますが、私は英語のXPを持っていません。これは、どこにあるかは明らかだと思います。

ここに画像の説明を入力してください

IE7で同じ問題が発生し始めた後、セキュリティ設定を変更した直後に、予期せず答えが見つかりました。そのため、どこを探すべきかがわかりました。

しかし、2番目の部分how to use "selenium protocol"はまだ未解決のままです。

于 2013-02-20T00:17:17.227 に答える