Как использовать Selenium Grid с C #? - PullRequest
2 голосов
/ 24 марта 2010

Я изучаю Selenium и провожу семинар для моей группы ... Я встречаю много неприятностей с этим Я использую язык C # и пишу демо SeleniumExample.dll. Затем я начинаю Селен 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. Я устанавливаю СГ и установить Ant1.8. Тесты будут общаться с Selenium Hub. На самом деле, я просто понимаю теорию, я не знаю, как сделать тесты общения с Selenium Hub и как сделать Selenium Hub управление Selenium RC.

Я новичок в Selenium. Если кто-нибудь знает это, пожалуйста, помогите мне. я очень ценю.

СПАСИБО, Хоанг

1 Ответ

3 голосов
/ 24 марта 2010

На самом деле нет большой разницы между 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 # и должен помочь вам.

...