Когда я пишу этот кусок кода, он отлично работает
using System;
using WatiN.Core;
using MbUnit.Framework;
using Gallio.Framework;
using System.Text.RegularExpressions;
using System.Collections;
using System.IO;
using System.Drawing;
using Gallio.Model;
namespace DialogHandlerTestWithWatin
{
[TestFixture]
class Program
{
//This is WatiN - create IE instance
public static IE ie = new IE();
[SetUp]
public void DoTestSetup()
{
IE.Settings.WaitForCompleteTimeOut = 60;
}
[TearDown]
public static void TestNavigateToMedappz()
{
if (ie != null)
{
if (TestContext.CurrentContext.Outcome == TestOutcome.Failed)
{
Assert.Fail("Unable to navigate to the medappz application");
ie.Close();
ie.Dispose();
ie = null;
}
}
}
//This funcn navigate us to the Medappz Application
[Test]
public static void NavigateToMedappz()
{
using (TestLog.BeginSection("Go to Medappz"))
{
Assert.IsNotNull(ie);
ie.GoTo("http://192.168.10.82/Sage/");
ie.ShowWindow(NativeMethods.WindowShowStyle.Maximize);
}
//This is NUnit - check that ie instance is not null
Assert.IsNotNull(ie, "Error creating IE instance.");
Assert.AreEqual("Login Page", ie.Title);
}
Но когда я добавляю другой метод тестирования в этот код как
[TearDown]
public static void TestLoginToMedappz()
{
if (ie != null)
{
if (TestContext.CurrentContext.Outcome == TestOutcome.Failed)
{
Assert.Fail("Unable to Login");
}
}
}
[Test]
public static void LoginToMedappz()
{
using (TestLog.BeginSection("Login to Medappz"))
{
TextField UserName = ie.TextField(Find.ByName("txtUserName"));
UserName.TypeText("<username>");
TextField Password = ie.TextField(Find.ByName("txtPassword"));
Assert.IsTrue(UserName.Exists, "UserName Textbox does not exist");
Assert.IsTrue(Password.Exists, "Password Textbox does not exist");
Password.TypeText("<password>");
Button btnLogin = ie.Button(Find.ByName("btnLogin"));
Assert.IsTrue(btnLogin.Exists, "btnLogin button does not exist");
btnLogin.Blur();
btnLogin.Click();
}
}
Затем тест начал проваливаться, открывается только пустое окно IE, и через несколько секунд выполняется первый метод тестирования, но второй метод не выполняется. В отчете Gallio говорится:
Root
110
Результаты: 2 пробега, 1 пройдено, 1 провал, 0 безрезультатно, 0 пропущено
Продолжительность: 44.042 с
Утверждений: 3
WatiN.Core.Exceptions.ElementNotFoundException: Не удалось найти INPUT (текстовая область текста скрыта) или критерии соответствия тега элемента TEXTAREA: атрибут 'name' со значением 'txtUserName'