我们有几个 c# selenium 测试套件,由多个测试人员在多个服务器上运行。
如果可能的话,我想简化设置。目前我们有多个 c# selenium 项目,每个项目都有自己的 app.config。当我想更改服务器时,我需要更改每个 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 ”的变量,可以设置为“ Firefox ”或“ Chrome ”或“ IE ”。
我喜欢环境变量,因为运行我们所有 selenium 测试的 powershell 脚本可以在需要时轻松更改变量。
但是,我似乎无法从这个 app.config 中提取那些 DB 字符串。我怎样才能将它们转移到更具全球性和动态性的东西中。理想情况下,我只需要在 1 个地方设置?理想情况下,我可以将它们移动到其他环境变量或位于 c# 项目之外的配置文件中。
谢谢!