我在UI测试中遇到了Selenium PhantomJS驱动程序非常令人沮丧的问题,因为所有其他驱动程序都按预期工作,但当地址为localhost时,Phantom拒绝在任何地方导航。使用外部URL时,Phantom按预期工作。
PhantomJS 1.9.7,Selenium Web Driver 2.42.0,IIS 7.5
我非常简单的测试课程:
[TestFixture]
public class AcceptanceTests
{
private IWebDriver driver;
[Test]
public void HomePageChrome() // works
{
driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://localhost/MySite");
Assert.AreEqual("My Project Name", driver.Title);
}
[Test]
public void HomePagePhantom() // does not work
{
driver = new PhantomJSDriver();
driver.Navigate().GoToUrl("http://localhost/MySite");
Debug.WriteLine(driver.Url); // about:blank
Assert.AreEqual("My Project Name", driver.Title);
}
[Test]
public void ExternalPagePhantom() // works
{
driver = new PhantomJSDriver();
driver.Navigate().GoToUrl("http://www.google.co.uk");
Assert.AreEqual("Google", driver.Title);
}
[TearDown]
public void TearDown()
{
if (driver != null)
{
driver.Quit();
driver.Dispose();
}
}
我尝试在driver.Navigate()之后添加等待语句无效(无论是显式等待还是等待找到类或id)。
我在这里缺少什么?非常感谢。