2

我正在研究 Selenium 并为我的小组举办研讨会......我遇到了很多麻烦我使用 C# 语言并编写了一个演示 SeleniumExample.dll 然后我启动 selenium RC 和 NUnit 并使用 NUnit 运行它以查看测试报告。我从 XML 读取测试数据。

这是 SeleniumExample.dll:使用系统;

using System.Xml;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using NUnit.Framework;
using Selenium;

namespace SeleniumExample
{

   public class Success_Login
   {

      //User defined

       private string strURL = "http://newtours.demoaut.com/
mercurywelcome.php";
       private string[] strBrowser = new string[3] { "*iehta",
"*firefox", "*safari" };

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

               [SetUp]
               public void SetupTest()
               {
                       selenium = new DefaultSelenium("localhost", 4444,
this.strBrowser[0], this.strURL);
                       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());
               }

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

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

               foreach (XmlNode node in docNode)
               {
                   selenium.Open("/");
                   selenium.Type("userName",
node["username"].InnerText);
                   selenium.Type("password",
node["password"].InnerText);
                   selenium.Click("login");
                   selenium.WaitForPageToLoad("30000");
                   Assert.AreEqual("Find a Flight: Mercury Tours:",
selenium.GetTitle());
               }
           }
           catch (AssertionException e)
           {
               verificationErrors.Append(e.Message);
           }
               }
   }
}

现在我想要一个使用 Selenium Grid (SG) 的演示,但我不知道该怎么做。我阅读了文档并了解了 SG 的工作方式。我安装SG并安装Ant1.8。测试将与 Selenium Hub 进行通信。实际上,我只是了解我不知道如何使测试与 Selenium Hub 通信以及如何使 Selenium Hub 控制 Selenium RC 的理论。

我是 Selenium 的新手。如果有人知道这一点,请帮助我。我非常感激。

谢谢,黄

4

1 回答 1

3

实际上,Selenium RC 和 Selenium Grid 之间没有重大区别。唯一的区别是,使用 Grid,您不必知道 RC 节点在哪里,但如果您使用 Selenium RC,则必须知道。

string hubAddress = "machineNameWithSeleniumGridHub"

[SetUp]
public void SetupTest()
{
    selenium = new DefaultSelenium(hubAddress, 4444,this.strBrowser[0], this.strURL);
    selenium.Start();
    verificationErrors = new StringBuilder();
}

当您的测试运行时,它们将与集线器对话,集线器会将命令推送到第一个可用的 RC。我的网站上有一个 Selenium 教程。它使用 C#,应该让你继续前进。

于 2010-03-24T08:30:32.120 回答