여러 대의 테스터가 여러 대의 서버에서 실행되는 여러 개의 C# 셀레늄 테스트 스위트가 있습니다.여러 app.config를보다 글로벌하게 이동하기
가능하면 설정을 단순화하고 싶습니다. 현재 우리는 각각 자신의 app.config와 함께 여러 개의 C# 셀레늄 프로젝트를 보유하고 있습니다. 서버를 변경하려면 각 app.config를 변경해야합니다. 내 app.config는 현재 다음과 같습니다.
<connectionStrings>
<add name="Company"
connectionString="Data Source=func3_db1;Initial Catalog=CompanyProduction;Integrated Security=SSPI;"/>
<add name="CompanyProductionEntities"
connectionString="metadata=res://*/DataAccess.CompanyEntities.csdl|res://*/DataAccess.CompanyEntities.ssdl|res://*/DataAccess.CompanyEntities.msl;provider=System.Data.SqlClient;provider connection string="data source=func3_db1;initial catalog=CompanyProduction;integrated security=True;multipleactiveresultsets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
Windows 환경 변수에는 일부 설정이 있습니다. 그것은 일종의 모호한 방법이지만 그것을 꽤 잘 작동합니다. 이러한 설정에 액세스하려면, 우리는 단지 같은 것을 할 :
var value = Environment.GetEnvironmentVariable(varName, EnvironmentVariableTarget.User);
그래서, 우리가 "파이어 폭스"로 설정 될 수있다 "CompanyTestBrowser"또는 "크롬"또는 "라는 변수가 IE ".
셀레늄 테스트를 모두 실행하는 powershell 스크립트는 필요할 때마다 쉽게 변수를 변경할 수 있으므로 환경 변수를 선호합니다.
그러나이 app.config에서 해당 DB 문자열을 가져올 수 없습니다. 어떻게 좀 더 세계화 될 수있는 무언가로 그들을 옮길 수 있습니까? & dynamic. 이상적으로는 단 하나의 장소에서 설정해야합니다. 이상적으로는 다른 파일이나 C# 프로젝트 외부에있는 config 파일과 같은 환경 변수로 옮길 수 있습니다.
감사합니다.