Класс1 - хардкод действий с локаторами:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Selenium; using NUnit.Framework; namespace Facebooktry { public class login { public ISelenium selenium; public void enter(string username, string password) { selenium.WaitForPageToLoad("30000"); selenium.Type("email", username); selenium.Type("pass", password); selenium.Click("css=div.menu_login_container .uiButtonConfirm"); selenium.WaitForPageToLoad("30000"); } } }
Класс2 - собственно сам тест:
using System; using System.Text; using System.Text.RegularExpressions; using System.Threading; using NUnit.Framework; using Selenium; namespace Facebooktry { [TestFixture] public class Test { private ISelenium selenium; private StringBuilder verificationErrors; [SetUp] public void SetupTest() { selenium = new DefaultSelenium("localhost", 4444, "*firefox C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe", "http://www.facebook.com/"); 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()); } [Test] public void FacebookTest() { login blah = new login(); selenium.Open("/"); blah.enter("мыло", "пароль"); } } }
Студия настроена на запуск nunita при дебаге, компиляция проходит нормально, при запуске теста nunit выдает ошибку:
Facebooktry.Test.FacebookTest:
System.NullReferenceException : Object reference not set to an instance of an object. ссылаясь на строку blah.enter("мыло", "пароль");
Нашел практически аналогичный тест на http://www.seleniumw...in-selenium-rc/ , но он выдает туже самую ошибку( но в строке login(); ).
Внимание вопрос: что я делаю не так?