我需要帮助......
我可以使用以下命令启动一些远程控制: 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 个遥控器:ant -Dport=5566 -Denvironment="*chrome " launch-remote-control ant -Dport=5577 -Denvironment="*iexplore" launch-remote-control 4.然后我打开 Nunit 并加载 DLL(上面的代码)并运行 5.NUnit 没有任何响应。
我认为有一些遗漏的东西,但我不知道。测试脚本(DLL)如何知道选择了哪个远程控制序列来运行测试????
请帮我!!太感谢了
优。