嘗試創建新的FirFoxDriver()時,會啓動一個新窗口,但從未完全加載。這裏是我的代碼片斷。我有這樣的框架。每個網頁都是它自己的文件,即基本網頁。每一組頁面測試都是它自己的文件,Base測試頁面。Selenium FireFox將不會完全啓動
TestFixture和TestFixtureSetup和Setup對實際測試文件。
[TestFixture("FireFox")]
public class LoginPageTests : BaseSeleniumTest
{
public readonly string _TestDriver;
private LoginPage _LoginPage;
private Users _Users;
private HomePage _HomePage;
public LoginPageTests(string driverToUse) { _TestDriver = driverToUse; }
[TestFixtureSetUp]
public override void TestFixtureSetUp()
{
base.DriverSetUp(_TestDriver);
_Users = new Users(Credentials.bleonard);
}
[SetUp]
public void Setup()
{
_LoginPage = new LoginPage(Driver);
}
BaseTestPage:
public abstract class BaseSeleniumTest
{
protected IWebDriver Driver;
protected Stopwatch SeleniumStopwatch = Stopwatch.StartNew();
protected BaseSeleniumTest()
{
SeleniumStopwatch = Stopwatch.StartNew();
}
public static IWebDriver GetDriver(string driverToUse)
{
IWebDriver w;
Trace.Write("Newing up driver...");
switch (driverToUse)
{
case "InternetExplorer":
w = new InternetExplorerDriver(@"C:\cst-bitbucket\Selenium\Cst.Selenium.Tests");
w.Manage().Window.Maximize();
break;
case "Chrome":
ChromeOptions options = new ChromeOptions();
options.AddArgument("test-type");
options.AddArgument("start-maximized");
w = new ChromeDriver(@"C:\cst-bitbucket\Selenium\Cst.Selenium.Tests", options);
break;
case "FireFox":
w = new FirefoxDriver();
w.Manage().Window.Maximize();
break;
default:
w = new FirefoxDriver();
w.Manage().Window.Maximize();
break;
}
w.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(3));
return w;
}
public virtual void DriverSetUp(string driverToUse)
{
try
{
if (Driver == null)
{
Driver = GetDriver(driverToUse);
}
else
{
Driver.Quit();
Driver = GetDriver(driverToUse);
}
Driver.Manage().Cookies.DeleteAllCookies();
}
catch (Exception ex)
{
Assert.Inconclusive(TestResultReporter.AssertError = "Failed while getting web driver!" + ex);
}
}
當調試繼承人什麼happens.The base.DriverSetup(_TestDrive)被調用的BaseTestPage。由於該頁面上的驅動程序爲空,它將觸發GetDriver方法,該方法接收FireFox的driverToUse。 GetDrive將移動到開關案例「FireFox」,並引發新的FirfoxDriver()。加載一個新窗口,但永遠不會去主頁或任何東西。它被掛在與輸出顯示多個
型「System.Net.Sockets.SocketException」 的第一次機會異常出現在System.dll中
,然後catch語句該行在DriverSetUp
方法和的最終輸出引發錯誤:類型OpenQA.Selenium.WebDriverException' 的
第一次機會異常發生在WebDriver.dll
給出。任何幫助都會很棒,我已經在這裏工作了好幾天了。
聽起來像一個版本不匹配 - 你使用什麼版本的Selenium + Firefox和什麼是*整個*堆棧跟蹤? (**不**只是消息) – Arran 2015-03-03 15:07:10