0

Selenium webdriverを使用してテストケースを準備し、MSTESTを使用してローカルで実行しましたが、正常に動作し、テストケースをJENKINSに移動したいと思います.JENKINSから実行するとStarting execution...、15以上のmntと表示されますが、それでも同じですステータスなので、手動で停止する必要があります。

ここに私のコンソール出力があります:

Started by user anonymous
Started by user anonymous
Building in workspace D:\Jenkins\jobs\Selenium_Script\workspace
[workspace] $ cmd /c call C:\Users\XXXXXXX\AppData\Local\Temp\hudson4765437871038045571.bat

D:\Jenkins\jobs\SelScript\workspace>call "D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\mstest" /testcontainer:D:\Sel\EmployeeTest\test.emp.admin.dll 
Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.

Loading D:\Sel\EmployeeTest\test.emp.admin.dll...
Starting execution...

Build was aborted
Finished: ABORTED

Jenkins上でテストケースを実行し、実行結果を確認したかった

念のため使用しているコードを次に示します。

これは、ドライバーをインスタンス化するために使用しているものですが、使用する必要がありますRemoteDriverか?

public static IWebDriver GetDriver()
        {
            string _url = new Uri(Common.Url).DnsSafeHost.ToString(); 

            switch (Common.BrowserSelected)
            {
                case "ff":
                    FirefoxProfile profile = new FirefoxProfile();
                    profile.SetPreference("network.http.phishy-userpass-length", 255);
                    profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", _url);
                    drv = new FirefoxDriver(profile);
                    break;
                case "ie":
                    var options = new InternetExplorerOptions();
                    options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
                    DesiredCapabilities capabilities = new DesiredCapabilities();
                    capabilities.SetCapability(CapabilityType.AcceptSslCertificates, true);
                    drv = new InternetExplorerDriver(options);
                    break;
                case "chrome":
                    //_driver = new ChromeDriver();
                    break;
            }
            return drv;
        }
4

2 に答える 2

2

BuildJenkinsのセクションで Selenium スクリプトを実行できます。

をクリックしAdd Build Stepて選択するとExecute Shell、Linux 環境で入力するようにコマンドを直接実行できます。

これはすべて、Linux 環境で Jenkins を実行していることを前提としています。

@使用する必要がありますRemoteDriverか? ヘッドレス モードでテストを実行するために xvfb がインストールされているかどうかによって異なります。そうでない場合は、テストをリダイレクトして、windows/mac マシンでリモートで実行できます。

アップデート

Windows マシンを使用している場合、xvfb は必要ありません。だからそれを忘れてください。

プロジェクトをビルドするためのシェル スクリプト (デフォルトは sh ですが、これは構成可能です)。スクリプトは、ワークスペースを現在のディレクトリとして実行されます。シェル スクリプトの内容を入力します。シェル スクリプトに #!/bin/sh のようなヘッダー行がない場合、システム全体で構成されたシェルが使用されますが、ヘッダー行を使用して別の言語 (#!/bin/perl など) でスクリプトを記述することもできます。 ) またはシェルが使用するオプションを制御します。デフォルトでは、シェルは「-ex」オプションで呼び出されます。したがって、すべてのコマンドは実行前に出力され、コマンドのいずれかがゼロ以外の終了コードで終了した場合、ビルドは失敗と見なされます。再度 #!/bin/... 行を追加して、この動作を変更します。

ベスト プラクティスとして、ここに長いシェル スクリプトを入れないようにしてください。代わりに、SCM にシェル スクリプトを追加し、そのシェル スクリプトを Jenkins から (bash -ex myscript.sh などを介して) 呼び出すことを検討してください。そうすれば、シェル スクリプトの変更を追跡できます。

例 -

次のようにRubyコマンドを実行できます

ruby testscripts.rb

またはそのようなシェルスクリプト

./testscripts.sh
于 2013-04-04T19:24:50.953 に答える
0

ジェンキンスはとても簡単です。これを行うだけです:

  1.  Allow Jenkins to check-out your code into the Jenkins workspace.
  2.  Navigate to that workspace on your Windows computer and manually run
      the tests by executing the script that starts them.

このようにすることで、ジェンキンスは一時的に姿を消し、問題の原因ではなくなります。そうすれば、実際の問題が何であるかに集中できます。問題を解決したら、変更をソース コード リポジトリにチェックインしてから、Jenkins ビルドを再度実行し、手動で再度実行してみてください。それも機能する場合、最後に、Jenkins でビルド タスクをセットアップしてテストを実行することは明らかです。

于 2013-04-05T02:08:55.433 に答える