2013-08-19 3 views
1

Я использую visual studio 2012 для создания лучших веб-тестов производительности.Ошибка при использовании веб-теста производительности visual studio 2012

Я создал тест вручную, и я пытаюсь получить значение через плагин веб-тестирования из файла App.config в решении.

Код в App.config:

(xml code) 
<configuration> 
<appSettings> 
<add key="PaymentServiceURL" value="MyURL" /> 
</appSettings> 
<connectionStrings> 
... 
</connectionStrings> 

Plugin код:

using Microsoft.VisualStudio.TestTools.WebTesting; 
using PaymentServiceAPITestNew.ConfigManager; 
using System; 
using System.Collections.Generic; 
using System.IO; 


public class Init : WebTestPlugin 
{ 
    public override void PreWebTest(object sender, PreWebTestEventArgs e) 
    { 
     //List<APIObj> testList = null; 
     string feedsURL = MyConfigManager.GetAppSettings("PaymentServiceURL"); 
     e.WebTest.Context["PaymentServiceURL"] = feedsURL; 
    } 
    ..... 

Код MyConfigManager:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Configuration; 
using log4net; 
using System.IO; 

public static class MyConfigManager 
{ 
    ... 
    public static string GetConnectionString(string key) 
    { 
     string result = string.Empty; 
     if (connectionStrings == null || (connectionStrings != null && connectionStrings.Count == 0)) 
     { 
      connectionStrings = new Dictionary<string, string>(); 
      var config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetCallingAssembly().Location); 
      foreach (System.Configuration.ConnectionStringSettings conn in config.ConnectionStrings.ConnectionStrings) 
       connectionStrings.Add(conn.Name, conn.ConnectionString); 
     } 

     connectionStrings.TryGetValue(key, out result); 
     return result; 
    } 
    ... 

веб-тест использует плагин, который должен был пойти в app.config и получить PaymentServiceUrl, но он не использует этот плагин.

Результат: Ошибка запроса: параметр контекста «PaymentServiceURL» не найден в контексте тест

и

Ошибка запроса: Исключение в PreWebTest события: Не удалось загрузить файл или сборку «PaymentServiceAPITestNew, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null или одна из его зависимостей. Система не может найти указанный файл

ответ

0

Я использовал пакет NuGet под названием Trove Nini и отлично работает для получения информации о файле конфигурации.