当自动化测试在不同的环境条件下执行的时候,参数是比较有用的。比如一个在win7上的自动化测试与在winXP上的测试相比较,测试执行可能需要不同的路径。,可以在Ranorex Studio里创建参数以便将其和变量相连接。
除了之前展示的典型的数据表格里的测试数据,一个测试套件以及它包含的测试用例允许你声明全局和本地的参数。这些参数也能被绑定到模块变量。该类型的数据驱动测试的执行有益于解决下面例子描述的相关环境属性的问题和类似的问题
测试用例是从叫做’StartSUT’的一个录制模块开始。录制只包含一个用来打开KeePass应用程序的单独动作项。打开录制然后创建一个新的叫做’varApplicationPath’的变量
图:创建一个被测系统执行路径的变量
为了测试套件里多个测试用例可以使用被测系统的执行路径,你可以把它声明为测试套件级别的全局参数,用测试套件的右击菜单,查看和打开下面展示的参数对话框
图:打开全局参数对话框
图:定义一个新的测试套件的全局参数
通过点击列’Name’的第一个单元格指定一个新的参数名字。现在指定一个新参数的值。拷贝来自于录制’StartSUT’的变量对话框里展示的默认值的执行路径然后粘贴作为新参数的值。点击OK使得修改生效,然后关闭对话框。在课程5:Ranorex 录制器-Ranorex 变量里,可以看到更多关于怎样打开录制变量对话框。
现在你可以准备把全局参数与之前在录制里创建的变量相结合。打开测试用例数据绑定对话框,你可以采取与之前合并变量和数据表相同的方式来实现全局参数与变量的相结合。
图:绑定全局参数到录制‘StartSystemUnderTest’里的变量
在你执行执行数据驱动测试用例之前,你需要确保Excel文件里的值能被正确的在录制’AddNewEntry’里使用。title, username, password, URL and expiration变量的值不会在自动化里引起任何问题。考虑到一个比较高级的情况,比如从一个默认隐藏的列表里选择一个项,由于项目的当前不可见状态就会有一个问题。这样的情况将会在下一节来处理
灰暗星辰
最近在研究变量与数据源捆绑,发现执行带有变量的脚本时,会按照数据源(excel表)内的参数顺序依次取出一组参数代入变量。有没有什么办法可以随机顺序取出值进行代入呢?或者随机取出数据源中的某一组参数仅做一次动作。
灰暗星辰
绑定变量与参数的时候,从数据源获取参数值可以随机顺序或者随机仅获取一组参数值吗?好像没看见类似的设定,运行脚本后会按照数据源表内顺序一组一组取出参数值代入变量内……
曾月天
据我所知,现阶段ranorex没有这样的功能。
灰暗星辰
了解了,还有一个问题。我希望多个变量的时候不是一一对应关系可以吗?比如第一个变量a在脚本第一步里,第二个变量b在脚本第二步里。执行的时候第一步取a[1],第二步取b[1]。然后在变量获取第二个值再一次执行的时候,a[2]如何在数据源设置才能变为跳过第一步?第二步则直接变为执行b[2]……像这样执行到b[n]之后(第一步一直是跳过操作)再一次执行第一步操作a[2]然后再继续去第二个变量b[n+1]……希望执行效果……
a[1],b[1]→b[2]→b[3]→b[4]→b[5]→a[2],b[6]→b[7]b→[8]→a[3],b[9]→b[10]→b[11]……能把数据源设置成这么执行的么?