2011-01-10 4 views
0

Я использую модульные тесты MSTest (Visual Studio) для запуска Selenium для проверки функциональности веб-сайта. Я хочу сделать, чтобы передать некоторые параметры конфигурации в мои тесты. Такие вещи, как адрес сервера, тип браузера Selenium ... и т. Д. Я пытаюсь использовать TestContext, но, похоже, не все равно, кроме использования LoadTests, чтобы передать эту информацию.Visual Studio передает значения конфигурации в UnitTests

Я также попытался использовать Spring.NET, но это тоже не помогло.

Любые идеи по использованию TestContext? Или может быть что-то еще.

Благодаря

ответ

1

Я думал, что я разделю то, что я в конечном итоге делает. Я использовал Spring.net, чтобы ввести настройки в класс SeleniumSettings, как это;

<objects xmlns="http://www.springframework.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/xsd/spring-objects.xsd" > 
    <object id="Settings" type="Sample.SeleniumSettings, Sample" singleton="true"> 
    <property name="Server" value="localhost"/> 
    <property name="Port" value="4444"/> 
    <property name="Browser" value="*firefox" /> 
    <property name="Url" value="http://website.com"/> 
    <property name="Email" value="[email protected]"/> 
    </object> 
</objects> 

Это введет SeleniumSettings в свойство, называемое настройками в классе Test. Тесты должны унаследовать от AbstractDependencyInjectionSpringContextTests и реализовать;

protected override string[] ConfigLocations 

Класс настроек выглядит следующим образом;

public class SeleniumSettings 
{ 
    public const string DefaultEmailAddress = "[email protected]"; 
    public const string DefaultServerAddress = "localhost"; 
    public const string DefaultProtocol = "http://"; 
    public const string DefaultEndPoint = "/"; 

    public string Server = DefaultServerAddress; 
    public int Port = 4444; 
    public string Browser = "*firefox"; 
    public string Url = "http://localhost"; 
    public string Email = DefaultEmailAddress; 

    public ISelenium factory() 
    { 
     return new DefaultSelenium(Server, Port, Browser, Url); 
    } 
} 

Затем используйте SeleniumSettings.factory(), чтобы получить объект DefaultSelenium для запуска ваших тестов.

В документации Selenium есть информация об этом, но она слишком быстро погружается и пропускает основную информацию, необходимую для установки этого материала.

Я попытался внедрить объект DefaultSelenium в класс изначально, но у меня были проблемы с Selenium, сбой внутри. Похоже, что создание Spring.net не создавалось.

Надеюсь, это поможет кому-то.

Смежные вопросы