分布式云端自动化管理平台AutoTestDriver
前言:基于最新的Cloud思想,与现实项目中的需要,本人做了一个分布式的自动化framework,我是基于php+js+vbs开发的基于web平台测试框架。有以下几个功能:
1. 分布式(可配置多台跑脚本的机器)
2. 多脚本运行
3. 实时的监控脚本的运行状态
4. 测试数据放在服务器端,可直接修改运行(运行时自动加载到本地)
5. 环境变量XML放在服务器端(运行时自动加载到本地)
可以分为4个部分:
1. Test Execution
此模块是运行自动化测试组建的 ,也就是QTP里面的Tests。
如果你想要启动QTP来运行你所选的Tests的话,需要配置界面上的4个选项:
ComputerName: 你所指定的云端上的哪台PC来运行你所选的Tests。 (需要在Configuration模块配置)
BuildNum: 当我们每跑一次自动化测试的时候,都需要一个buildnumber来区分各个版本之间的不同 ,这个就起到这个的功能。 (需要在Configuration模块配置)
RunType:这个下拉框有2个选项,一个是ALM,一个是LocalReg,当你选择ALM的时候,系统会自动取到ALM上的脚本,结果也会自动保存到ALM,当你选择LocalReg的时候,系统会自动取本地脚本,结果也自然保存到本地。
AutomationTests Selection:也就是最大的2个dropdown,把你想要运行的脚本选中,就可以运行了。
Running:当4个item都选好之后,就可以点击run来启动测试脚本。出现以下的界面说明已经开始运行了,如果出现error系统会以弹出窗显示错误。
如果出现error系统会以弹出窗显示错误
QTP已经启动
当AutomationScript执行完毕时,系统会返回结果和所运行的时间。
如果你的测试脚本运行时间很长,而你希望实时的查看脚本运行状态,你可以进入TestResult模块
2. Test Result
此模块用来查看测试结果,无论是TestLab(在这用TestLab代替AutomationTests),还是详细到每个TestCase。
选择一个你想要看的测试版本的结果,以下的图表显示的一个当前版本的测试结果,下面的是详细的每个TestLab的信息,有测试状态和上次执行花费的时间。
当我们启动一个Build下的一个TestLab时,你上次的TestCase的测试结果就会被清除,这也是为了方面实时的监控testcase结果。
点击一个TestLab的名字,这个TestLab下的运行的TestCase的结果就会显示在这个Chart上。
如果你想要看详细的testcase的运行结果,点击左下角的按钮,就会显示出来了,包含了每个testcase的状态和运行时间
3. TestData
当我们做自动化测试的时候,经常遇到测试数据的改变,可能我们需要在每次回归测试之前都要改变测试数据。
UploadFile就是可以上传我们的测试数据到webserver,当我们需要更改testdata的时候,更新server上的数据就可以了。
TestDataFile:选择一个你需要的测试数据文件(测试数据需要保存在excel里),这个excel的所有sheetname都会显示在ChooseSheet Name下拉框里。
Choose Sheet Name:选择一个sheetname,系统就会把所有的数据显示出来
双击想要更改的地方就可以修改测试数据了,服务器端的文件也会自动更新。
4. Test Configuration
此模块用来配置我们运行的参数,
TestLab: 配置我们需要运行的TestLab,包含一些基本信息,TestLab_Name(脚本名字),TestLab_Desc(脚本介绍),TestLab_Owner(脚本的开发人员),Auto(该是否已经自动化)。
点击InsertRow可以增加新的TestLab,双击则可以修改。
TestMachine:云端的PC节点,运来运行测试脚本,ComputerName(机器的名字),OS(系统版本),Owner(机器的拥有者),Bit.
Build Info:
测试版本的一些基本信息,当我们运行的时候这些版本信息,会被自动加载到XML,当做环境变量被QTP使用。