0

助けが必要です…………

ant launch-remote-control を使用して、リモート コントロールを起動できます。

しかし、スクリプトがハブに接続する方法がわかりませんか? 同じコンピューターにant、selenium-gridをセットアップしました。C# で記述され、NUnit を介して実行される grid.dll があります。テスト データは xml ファイル (ValidData.xml) から読み取られます。サンプル コードは次のとおりです。

System.Collections.Generic の使用; System.Linq を使用します。System.Text を使用します。システムを使用して; System.Xml を使用します。System.Text.RegularExpressions を使用します。System.Threading の使用; NUnit.Framework の使用; セレンの使用;

namespace Grid { public class Class1 { //ユーザー定義

    private string strURL = "http://gmail.com/";
    private string[] strBrowser = new string[3] { "*iehta", "*firefox", "*safari" };
   string hubAddress = "192.168.20.131"; // IP of my computer

    // System defined
    private ISelenium selenium;
    private StringBuilder verificationErrors;

    [SetUp]
    public void SetupTest()
    {

        selenium = new DefaultSelenium(hubAddress, 4444, this.strBrowser[1], this.strURL);// do i need to identify browser when I defined it when launching a remote control
        selenium.Start();
        verificationErrors = new StringBuilder();
    }

    [TearDown]
    public void TeardownTest()
    {
        try
        {
            selenium.Stop();
        }
        catch (Exception)
        {
            // Ignore errors if unable to close the browser
        }
        Assert.AreEqual("", verificationErrors.ToString());
    }

    private string[] name;

    [Test]
    public void LoginPassedTest()
    {
        try
        {
            XmlDocument doc = new XmlDocument();
            XmlNode docNode;

            doc.Load("ValidData.xml");
            docNode = doc["TestCase"];

            foreach (XmlNode node in docNode)
            {
                selenium.Open("/");
                selenium.WaitForPageToLoad("50000");
                selenium.Type("Email", node["username"].InnerText);
                selenium.Type("Passwd", node["password"].InnerText);
                selenium.Click("signIn");
                selenium.WaitForPageToLoad("100000");
                name = (selenium.GetText("//div[@id='guser']/nobr/b").Split('@'));

                try
                {
                    Assert.AreEqual(node["username"].InnerText, name[0]);
                    Assert.AreEqual("Sign out", selenium.GetText(":r6"));
                }
                catch (AssertionException e)
                {
                    verificationErrors.Append(e.Message);
                }

                selenium.Click(":r6");
            }
        }
        catch (AssertionException e)
        {
            verificationErrors.Append(e.Message);
        }
    }
}    

}

ステップ このスクリプトを実行します: 1.そのスクリプトを DLL にビルドします 2.コマンド「ant lauch-hub」を使用してハブを開始します 3.次のコマンドを使用して 2 つのリモート コントロールを開始します: " launch-remote-control ant -Dport=5577 -Denvironment="*iexplore" launch-remote-control 4.次に、Nunit を開いて DLL (上記のコード) をロードし、実行します 5.NUNit は何も応答しません。

足りないものもあると思いますがわかりません。テスト スクリプト (DLL) は、テストを実行するために選択されたリモート コントロールのシーケンスをどのように知ることができますか????

私を助けてください!!どうもありがとう

ユイ。

4

1 に答える 1

0

Class1 の [TestFixture] 属性が表示されません。それが問題なのでしょうか?

ここで、セレン グリッドでテストを実行する手順を説明しました: http://slmoloch.blogspot.com/2009/12/design-of-selenium-tests-for-aspnet_19.html。ここからテストのソースをダウンロードできます: http://code.google.com/p/design-of-selenium-tests-for-asp-net/

于 2010-04-24T18:31:04.750 に答える