添加库条目

 

在这一部分你会找到不使用录制的方法来向你的库中添加条目的几种方法。另外,还会学到如何向录制器手工添加动作(点击、输入等),并把这些动作连接到库条目以指定应该执行该动作的UI元素。举一个例子,创建一个新的录制模块’FindEntry’,将打开KeePass的搜索表单来搜索课程3:数据驱动测试中提到的’WordPressDemo’。

 

你也可以用Ranorex Spy工具向你的库中添加新条目。以下部分描述了如何向库中添加’Find’按钮,该按钮在录制过程中没有被点击,但之后我们会自动点击该按钮。

 

首先点击Ranorex Studio工具条的’View Spy’按钮打开Ranorex Spy。

 

 6-rs-openspy-5e

图:打开Ranorex Spy进行追踪条目和向库中添加条目

 

之后,用Ranorex Spy的’Track’按钮来追踪KeePass的’Find’按钮。如果按钮周围高亮了,就说明按钮被成功识别到了。

6-kp-spy-f6

图:用Ranorex Spy跟踪并识别’Find’按钮

.

第三步,如下图所示,向库中添加按钮

 6-rs-addtorepository-ce

图:向当前打开的库中添加条目

注意:你也可以选择直接从Ranorex Spy中把条目拖拽到Ranorex Studio的库中。

 6-rs-addedtorepository-9a

图:库中新创建的条目

 

注意:也可以用Track按钮直接从库中跟踪UI元素。

 

6-rs-track-from-repository-a9

图:从库中直接跟踪

现在,’Find’按钮成为了库的一部分,可以被用在代码模块或录制模块中了。为了处理’Search’场景,创建一个新录制模块。使用Ranorex录制器工具条中的’Add New Action’拖拽按钮,并且添加一个’Mouse’动作。有一种以上的方法可以将库条目与这个动作关联起来:

.  直接从库中将条目拖拽到录制网格中 或

.  点击录制网格(库项目的列)中的’browse repository button’

 6-rs-addrepositoryitem-button-2a

图:用‘browse repository button’将库条目与动作关联起来

你也可以选择性的将一个库条目拖拽到录制网格,并且用这种方法创建一个新动作(在拖拽项目到网格的时候,会询问你想创建哪一种动作)。

6-rs-addnewrecordingaction-8e

图:当用拖拽直接创建一个新的录制动作时,选择动作类型的上下文菜单

 

在一个新录制的模块中,已经包括了一个简单点击KeePass的’Find’按钮动作。这个录制模块能够模拟输入文字到搜索表单,并且单击‘OK’按钮开始搜索。我们仍然需要在库中有更多的元素,在我们录制表格中需要有更多的动作。请执行以下步骤,这些步骤与本章节中已经做的步骤十分相似。

.打开Ranorex Spy工具(如果没有打开的话)

.用Ranorex Spy的’Track’按钮跟踪KeePass的’Find What’文本域

.将跟踪的文本域添加到库中(可以是带上下文菜单的或是带拖拽的)

.用某种有意义的名字重命名该库条目(例如:FindText)

.在Ranorex Studio中,将一个新动作(‘Mouse’)添加到录制里

.将这个动作与库条目‘FindText’关联

.将一个新动作(Key Sequence)添加到录制里

.将列’Sequence’的值改为你想要搜索的文字词组(例如:WordPressDemo)

.将这个动作关联到库项目’FindText’

. .打开Ranorex Spy工具(如果没有打开的话)

.用Ranorex Spy的’Track’按钮跟踪KeePass搜索表单的的’Find’按钮

.将跟踪到的按钮添加到库中(选择一种已经提到的方法)

.在Ranorex Studio中,将一个新动作(‘Mouse’)添加到录制里

. 将这个动作关联到库条目’Button Find’

注意:列出来的这一长串步骤说明了手工创建一个录制的方法。当然,这些步骤可以通过常规录制完成而不必担心库条目的分配。

在录制器中,你可以通过用上下文菜单条目’Play Selected Item/s’或’Play From Here’执行一个动作或多个动作。

6-rs-playselecteditem-d3

图:执行单独的动作来模拟一个在文本域’FindText’的键序列

现在你手工创建的录制包括四个动作,其中有打开窗体、点击文字域、输入一串键序列和最后点击’Find’按钮。这个简单的录制现在可以很容易的嵌入到你的测试用例中,并且可以适用于任何(合适)的位置。

注意:可能出现将一个录制模块添加到测试用例两次或以上的情况。更多细节的请看下面的例子。

一个更高级的测试用例的例子

在这个测试用例中,将’FindEntry’和’Validate’模块结合起来是个好方法。下图中的测试用例结构会将当前的例子扩展成更复杂的模块组合:

 6-rs-advancedtestcase-77

图:一个高级测试用例的例子,其中多次使用了不同的代码模块

为了解释测试用例,将会提到,在setup region(’StartSUT’ and ‘Login’)之后,这个测试用例试着‘find’一个值(WordPressDemo)并且‘validate’其结果。如果KeePass开始是一个空数据库,该验证将会故意失败。添加输入(‘AddNewEntry’)之后,如果前一个添加动作成功了,那么第二个‘Find’模块之后的‘Validate’模块的也将会成功。正在进行的测试用例继续删除条目并再次试着‘find’值和‘validate’结果,其结果再次故意失败。最后包含‘Save’和’CloseSUT’模块的teardown region最终一定会被执行。

注意:为了防止录制器在(故意)失败的验证上停止运行,请参看课程5:Ranorex录制器——在失败和禁用下继续运行和在失败的情况下使之继续运行

对象库条目表现多个元素

你可以使用一个提供多个UI元素的RanoreXPath来创建一个库条目。这样将会很有帮助,例如,在配置窗体中,如果你想在大量复选框中验证任何元素的可见性。它主要被代码模块使用,适合用在你不想为所有的元素都创建一个单独的复选框的条目的情况下。

使用Ranorex Spy,来为多个元素准备RanoreXPath,并把它们添加到库中,正如前一章节所述的那样。

 6-rs-multiplerepositoryitems-1e

图:RanoreXPath提供的多个结果(KeePass工具条上的全部按钮)

库项目提供的元素列表可以用在代码模块中,就像“通过对象库元素创建适配器列表”所描述的那样。

Leave a comment

请输入正确的验证码