2013-03-30 77 views
0

我们有一个web应用程序。我们希望跨多个环境运行相同的测试,以确保一切仍然正常工作。如何测试不同的环境?

UAT - > STAGING - >生产

我们希望每个后部署到每个环境来运行这些测试。每个环境都有不同的URL。我已经在MTM中创建了三个测试计划。我仅为UAT环境添加了测试用例,并在Lab Center中创建了一个环境。顺便说一下,我用编码的UI测试记录了测试用例,并将它们与自动测试相关联(仅UAT环境)。我怎样才能测试其他环境。如何在不改变录制或代码的情况下实现这一点?谢谢,

回答

0

您可能需要编辑编码UI测试以更改测试运行时启动的浏览器URL。当我在不同的浏览器上执行自动化的Coded UI测试时,当测试开始时,我从每个测试环境的XML配置文件中读取它以获取正确的浏览器URL(以及任何其他相关配置数据)。换句话说,您将需要至少一点代码来处理每个测试环境的不同URL或任何配置数据。

对于实际运行远程环境的测试,您应该下载Microsoft测试控制器和测试代理(Download link)。和here's the documentation用于安装和配置代理。

这个想法是,你的主机(也许是主要的构建/测试机器)安装了测试控制器,并且测试控制器远程连接到测试代理,测试代理安装在测试环境中并启动自动化的Coded UI测试。

Microsoft测试管理器还具有命令行选项,以便您可以安排自动测试(例如,您可以从Windows任务计划程序运行脚本)。

我不记得实施这些的具体细节,但希望我至少会把你放在正确的方向,以便你可以进一步研究这些事情。

使用测试代理进行自动化测试有很多细微之处,所以我会准备在此投入相当多的时间。

UPDATE:

这是一个很长一段时间,因为我已经测试自动化工作,所以我不记得我的执行细节,但据我记得,在我的系统,我有一个XML配置文件存储在测试环境中(例如C:\ MyTestConfig \ config.xml中是有XML值各种配置选项,最重要的一个是,我要启动的URL,例如

<browserUrl>http://localhost:1659/whatever</browserUrl> 

然后,我有一个在实例化测试项目中的类将获得配置XML文件(它将存储在每个测试环境中的相同位置),并读取 价值。虽然我已经完成了很长时间,但是我不记得确切的实现,但是在Web上有大量关于在C#.NET中读取XML的文档。 从我的测试类中,我继承了读取配置值的类,然后从测试类中的测试设置方法中,这将从XML文件启动浏览器URL并启动测试。如果您不知道如何创建测试设置方法,我会查看您正在使用的测试框架的文档(这很可能是Visual Studio单元测试框架,因为默认情况下使用的是Coded UI测试)。

+0

我使用测试代理和测试控制器。我有一个测试代理。我有个问题。你说过:“我从每个测试环境的XML配置文件中读取它,以获得正确的浏览器URL(以及任何其他相关的配置数据)。”我该怎么做,请给我一个例子吗?,谢谢 – user201780

+0

我更新了我的答案。对于缺乏实际实现的例子,因为我已经使用了测试自动化已经快一年了,但希望我至少能够让您朝着正确的方向前进。 –

0

如果您生成使用默认的测试生成器的测试,你可以尝试写这样的事情在你的[CodedUITest]类:其中产生

[TestInitialize()] 
public void MyTestInitialize() 
{ 
    // the url I could read from a config file 
    string url = "http://stackoverflow.com/"; 

    this.UIMap.RecordedMethodXXParams.XXChWindowUrl = url; 
} 

RecordedMethodXXParamsXXChWindowUrl汽车。您可以在UIMap类中检查生成的名称。

0

这在这方面太晚了,但以防万一它可以帮助读者。

你并不需要创建多个测试计划和测试套件在MTM这一点。您需要的是,构建足够聪明,可以根据目标环境选择正确的配置。由于Ciaran建议您可以使用包含每个环境所有细节的xml配置,然后编写一些过滤代码来过滤掉基于目标环境的细节,但可维护性会变得有点痛苦。理想情况下,您希望为app.config创建一个xml布局,并且会根据目标环境为每个配置加载不同的值。即app.config中的xml根据目标环境进行转换。

SlowCheetah正是这么做的为您服务。需要一点阅读和理解才能实现这一点。

后,你已经具备了所有的变换,使用“配置管理器”在Visual Studio中描述的所有目标环境。您可以在visual studio中绿色开始/运行按钮旁边的下拉菜单中找到它。

创建使用Process定位的每个测试环境中测试代码(即编码的UI测试项目)的一个单独的CI的构建(即触发=签)>生成>构建定义的配置部分。

创建一个使用从测试管理器中相同的测试套件每个目标环境的实验室试运行版本(即使用LabDefaultTemplate一个)。确保每个构建映射到相应的CI都构建在流程工作流程向导的构建部分中。

队列了所有的构建和你会拥有所有这些版本在同时所有的环境下运行起来和他们每个人的潇洒地拿起右CONFIGS。