我想加载一个浏览器页面,它是运行QUnit测试的页面的静态HTML测试工具。
我想从成功/失败<span>
中获取值并使用这些值进行测试。
如何使用MSTest / MSUnit加载页面并在其上查询元素?
答案 0 :(得分:1)
如果您不介意启动实际浏览器,并且您不想依赖SeleniumRC(这是C#所必需的),则可以使用WatiN。以下来自WatiN的小例子。
[Test]
public void SearchForWatiNOnGoogle()
{
using (var browser = new IE("http://www.google.com"))
{
browser.TextField(Find.ByName("q")).TypeText("WatiN");
browser.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(browser.ContainsText("WatiN"));
}
}
或者如果你不想在机器上启动真正的浏览器,你可以试试Selenium和HtmlUnit。使用Selenium,您可以启动HtmlUnit,告诉它加载给定的页面,然后通过xpath读取您需要的内容。例如,这是Selenium documentation如何做类似事情的例子:
using OpenQA.Selenium;
using OpenQA.Selenium.Remote;
class Example
{
static void Main(string[] args)
{
ICapabilities desiredCapabilities = DesiredCapabilities.HtmlUnit();
IWebDriver driver = new RemoteWebDriver(desiredCapabilities);
driver.Navigate().GoToUrl("http://google.ca/");
IWebElement element = driver.FindElement(By.Name("q"));
element.SendKeys("Cheese!");
element.Submit();
System.Console.WriteLine("Page title is: " + driver.Title);
driver.Quit();
System.Console.ReadLine();
}
}
BTW与硒也可以使用真正的浏览器。
另一方面,如果带有结果的页面是本地文件,您只需阅读文件并过滤所需的数据。