je besoin d'une aide .........Comment faire le testcript sélectionné est exécuté dans la grille de sélénium
je peux lancer un certain contrôle à distance en utilisant: ant de lancement à distance le contrôle
mais je ne sais pas comment mon script se connecte au hub? J'ai mis en place ant, sélénium-grille sur le même ordinateur. J'ai un grid.dll qui est écrit par C# et exécuté par NUnit. Les données de test est lue à partir du fichier XML (ValidData.xml) Le code exemple ci-dessous:
utilisant System.Collections.Generic; en utilisant System.Linq; en utilisant System.Text; en utilisant le système; en utilisant System.Xml; en utilisant System.Text.RegularExpressions; en utilisant System.Threading; en utilisant NUnit.Framework; en utilisant du sélénium;
espace de noms Grille { public class Class1 { // utilisateur défini
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);
}
}
}
}
Étape I exécuter ce script: build 1.I que script dans DLL 2.I démarrer moyeu à l'aide de commande "ant lauch-hub" 3.J'ai démarrer 2 télécommandes en utilisant la commande: ant -Dport = 5566 -Denvironment = "* chrome" lance-commande à distance ant -Dport = 5577 -Denvironment = "* iexplore" lancement-télécommande 4.Ensuite J'ouvre Nunit et la charge DLL (code ci-dessus) et exécutez 5.Le nunit doesnot répondre quoi que ce soit.
Je pense qu'il ya des choses qui manquent, mais je ne sais pas. Comment le script de test (DLL) peut-il savoir quelle séquence de contrôle à distance est sélectionnée pour exécuter le test?
S'il vous plaît aidez-moi !! Merci beaucoup
Yui.