如何使选定的testcript在selenium网格中运行

时间:2010-04-15 10:39:17

标签: selenium-grid

我需要帮助.........

我可以使用以下命令启动一些遥控器: 蚂蚁发射 - 遥控

但我不知道我的脚本如何连接到集线器? 我在同一台计算机上设置了蚂蚁,硒网格。 我有一个grid.dll,它由C#编写并通过NUnit运行。 从xml文件(ValidData.xml)读取测试数据 示例代码如下:

使用System.Collections.Generic; 使用System.Linq; 使用System.Text; 使用系统; 使用System.Xml; 使用System.Text.RegularExpressions; 使用System.Threading; 使用NUnit.Framework; 使用Selenium;

命名空间网格 {     公共类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);
        }
    }
}    

}

步骤I运行此脚本: 1.我将该脚本构建到DLL中 2.我使用命令“ant lauch-hub”启动集线器 3.我使用命令启动2个遥控器:       ant -Dport = 5566 -Denvironment =“* chrome”launch-remote-control       ant -Dport = 5577 -Denvironment =“* iexplore”launch-remote-control 然后我打开Nunit并加载DLL(上面的代码)并运行 5.NUNit不回应任何事情。

我认为有一些遗漏的东西,但我不知道。 如何选择测试脚本(DLL)知道哪个是远程控制序列来运行测试????

请帮帮我!! 非常感谢你

1 个答案:

答案 0 :(得分:0)