Как я могу инициализировать свойство TestContext в другом классе?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу инициализировать свойство TestContext в другом классе?

Сообщение Anonymous »

Я новичок в Selenium и пытаюсь выполнить тест на основе данных через файл CSV. Для этого я определяю атрибут DataSource в классе, который содержит тестовые атрибуты. Я использую платформу MStest.

Код: Выделить всё

[TestClass]
public class UnitTest1:BaseDriver
{

ExcelTest sd;

private TestContext instance;

public TestContext TestContext
{
set { instance = value; }
get { return instance; }
}

public UnitTest1()
{

sd = new ExcelTest(_driver);
}

[TestInitialize]
public void Testinitialize()
{

}

[TestMethod]
[DeploymentItem("TestData.csv")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", @"C:\Users\nidumukv\Documents\Visual Studio 2012\Projects\BMICalculator\BMICalculator\DataFiles\TestData.csv", "TestData#csv", DataAccessMethod.Sequential)]
public void DDtest_usingCSV()
{
string feet = TestContext.DataRow["feet"].ToString();
string inches = TestContext.DataRow["inches"].ToString();
string weight = TestContext.DataRow["weight in pounds"].ToString();
string BMI = TestContext.DataRow["BMI"].ToString();

sd.TestUsingCSV(feet,inches,weight,BMI);
}

[TestCleanup]
public void cleanup()
{ _driver.Quit(); }

}
BaseDriver — это класс, который я использую для хранения фактического веб-драйвера. PageElements — это класс, в котором я объявил все веб-элементы.

Я пытаюсь определить переменные, которые находятся в методе «DDtest_usingCSV», в отдельном классе, чтобы тест не становится корявым. Но всякий раз, когда я определяю другой тестовый контекст в другом классе, я получаю исключение NullReferenceException. Я пробовал передавать свойство между классами. Но я не смог этого сделать (еще учусь).

Ниже приведен класс, который я пытаюсь инициализировать TestContext

Код: Выделить всё

 public class ExcelTest:PageElements
{
public IWebDriver _driver;

public ExcelTest(IWebDriver driver):base(driver)
{
_driver = driver;

}

public void TestUsingCSV(string _feet,string _inches,string _weight,string _BMI)
{
feet.SendKeys(_feet);
inches.SendKeys(_inches);
weight.SendKeys(_weight);
compute_btn.Click();
}
}
Поскольку мне не удалось инициализировать свойство, я параметризую этот метод в файле тестового класса.

И при объявлении свойства TestContext, как указано ниже, почему мы используем «TestContext» в качестве имени свойства вместо экземпляра??

Код: Выделить всё

private TestContext instance;
public TestContext TestContext
{
set { instance = value; }
get { return instance; }
}
Во время чтения значений из Excel мы берем «TestContext» для доступа к DataRow вместо «instance». Этот вопрос беспокоит меня каждый раз, когда я на него смотрю.

Код: Выделить всё

public void DDtest_usingCSV()
{
string feet = TestContext.DataRow["feet"].ToString();
string inches = TestContext.DataRow["inches"].ToString();
string weight = TestContext.DataRow["weight in pounds"].ToString();
string BMI = TestContext.DataRow["BMI"].ToString();

sd.TestUsingCSV(feet,inches,weight,BMI);
}
Пожалуйста, не обращайте внимания на длину вопроса. Я подробно объяснил свою проблему. Любая помощь может быть оценена по достоинству. Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/367 ... ther-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу получить доступ к TestContext из TestMethodAttribute
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как правильно использовать TestContext.Properties
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Что такое атрибут в Xunit, который похож на TestContext в тестах Visual Studio?
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Инициализировать класс Swift в другом классе
    Anonymous » » в форуме IOS
    0 Ответы
    77 Просмотры
    Последнее сообщение Anonymous
  • Нужна помощь в создании объектов, которые хранят данные в одном классе и печатают указанные данные в другом классе [закр
    Гость » » в форуме JAVA
    0 Ответы
    105 Просмотры
    Последнее сообщение Гость

Вернуться в «C#»