许多类在使用配置对象创建(实例化)类时具有使用的快捷名称。快捷名称称为alias
(如果类扩展了 Ext.Component,则称为xtype
)。对于适用的类,其别名/xtype 会列在类名称旁边以供快速参考。
框架类或其成员可以指定为private
或protected
。否则,类/成员为public
。Public
、protected
和private
是访问描述符,用于传达如何以及何时使用类或类成员。
Public 类和类成员可供任何其他类或应用程序代码使用,并且可以作为主要产品版本中稳定且持久的存在。公共类和成员可以通过子类安全地扩展。
Protected 类成员是稳定的public
成员,旨在由拥有类或其子类使用。受保护的成员可以通过子类安全地扩展。
Private 类和类成员由框架内部使用,不打算由应用程序开发人员使用。私有类和成员可能会在任何时候更改或从框架中省略,而无需另行通知,并且不应在应用程序逻辑中依赖它们。
static
标签。*参见下面的静态。下面是一个示例类成员,我们可以对其进行剖析以显示类成员的语法(在本例中是从 Ext.button.Button 类中查看的 lookupComponent 方法)。
让我们看看成员行中的每一部分
lookupComponent
)( item )
)Ext.Component
)。对于不返回 undefined
以外任何内容的方法,可以省略此内容,或者可能显示用正斜杠 /
分隔的多个可能值,表示返回的内容可能取决于方法调用的结果(即,如果 get 方法调用成功,则方法可能返回 Component,如果失败,则返回 false
,将显示为 Ext.Component/Boolean
)。PROTECTED
- 请参阅下面的标志部分)Ext.container.Container
)。如果成员源自当前类,则源类将显示为蓝色链接;如果成员是从祖先或混合类继承的,则显示为灰色。查看源
)item : Object
)列出。undefined
,则“返回”部分将记录返回的类或对象类型以及描述(在此示例中为 Ext.Component
)自 3.4.0 起可用
- 示例中未显示)默认为:false
)API 文档使用许多标志来进一步传达类成员的功能和意图。标签可以用文本标签、缩写或图标表示。
classInstance.method1().method2().etc();
false
,则标记为可预防的事件不会触发- 表示框架类
- 单例框架类。*有关详细信息,请参见单例标志
- 组件类型框架类(Ext JS 框架中扩展 Ext.Component 的任何类)
- 表示类、成员或指南在当前查看的版本中是新的
- 表示类型为 config
的类成员
- 表示类型为 property
的类成员
- 表示类型为 method
的类成员
- 表示类型为 event
的类成员
- 表示类型为 theme variable
的类成员
- 表示类型为 theme mixin
的类成员
- 表示类、成员或指南在当前查看的版本中是新的
在 API 文档页面上的类名正下方是一行按钮,对应于当前类拥有的成员类型。每个按钮显示按类型划分的成员数(此计数会随着应用筛选器而更新)。单击按钮将导航到该成员部分。将鼠标悬停在成员类型按钮上将显示一个弹出菜单,其中包含该类型的所有成员,以便快速导航。
与类配置选项相关的 Getter 和 Setter 方法将显示在方法部分以及 API 文档和成员类型菜单的配置部分中,位于它们所处理的配置正下方。Getter 和 Setter 方法文档将位于配置行中,以便于参考。
您的页面历史记录保存在本地存储中,并显示在顶部标题栏正下方(使用可用空间)。默认情况下,显示的唯一搜索结果是与您当前查看的产品/版本匹配的页面。您可以通过单击历史记录栏右侧的 按钮并选择“全部”单选按钮来扩展显示内容。这将显示历史记录栏中所有产品/版本的所有最近页面。
在历史记录配置菜单中,您还将看到最近访问的页面列表。结果按“当前产品/版本”和“全部”单选按钮进行筛选。单击 按钮将清除历史记录栏以及保存在本地存储中的历史记录。
如果在历史记录配置菜单中选择了“全部”,则“在历史记录栏中显示产品详细信息”复选框选项将处于启用状态。选中后,每个历史记录页面的产品/版本将与历史记录栏中的页面名称一起显示。将光标悬停在历史记录栏中的页面名称上也将以工具提示的形式显示产品/版本。
可以使用页面顶部的搜索字段搜索 API 文档和指南。
在 API 文档页面上,还有一个筛选器输入字段,它使用筛选器字符串筛选成员行。除了按字符串筛选外,您还可以按访问级别、继承和只读筛选类成员。这是使用页面顶部的复选框完成的。
API 类导航树底部的复选框筛选类列表以包括或排除私有类。
单击空的搜索字段将显示您最近的 10 次搜索,以便快速导航。
每个 API 文档页面(除了 Javascript 原始页面外)都有一个与该类相关的元数据菜单视图。此元数据视图将包含以下一个或多个内容
Ext.button.Button
类具有 Ext.Button
的备用类名)。备用类名通常用于保持向后兼容性。可运行的示例(小提琴)在页面上默认展开。您可以使用代码块左上角的箭头单独折叠和展开示例代码块。您还可以使用页面右上角的切换按钮切换所有示例的折叠状态。切换所有状态将在页面加载之间记住。
类成员在页面上默认折叠。您可以使用成员行左侧的箭头图标展开和折叠成员,或使用右上角的展开/折叠所有切换按钮全局展开和折叠成员。
在较窄的屏幕或浏览器上查看文档将导致针对较小尺寸优化视图。桌面和“移动”视图之间的主要区别是
可以通过单击 API 文档页面顶部的类名来查看类源。可以通过单击成员行右侧的“查看源”链接来查看类成员的源。
事件记录器是 Sencha Test 的关键元素。它跟踪用户操作并创建有意义的代码,指示以下内容
有关每个平台上支持的浏览器列表,请参阅 事件记录器浏览器支持。
当用户执行诸如轻击按钮或在表单字段中输入内容等操作时,用户的操作会被捕获。使用定位器识别用户执行实际操作的位置。
Sencha Test 事件记录器提供了三种不同的策略来获取组件引用;ID、组件查询和 XPath。
捕获测试元素的 ID。这可能是 Ext JS 框架动态生成的某个值。这意味着它可能不适用于长期测试自动化。
Ext JS / ExtReact 组件查询允许您准确识别组件在层次结构中的位置。查询有助于使用其属性(例如标题、类等)之一来识别确切的元素。
按照以下步骤使用事件记录器。
打开 Jasmine 测试套件文件
创建一个新的测试用例。Jasmine 测试用例应编写在 it
函数内,该函数位于 describe
函数中。
describe('login form', function () {
it('should deny access with wrong creds', function () {
// Your test code goes here
});
});
在录制之前,确保已在项目设置屏幕中设置目标应用程序的 URL。如果不设置有效的 URL,您将无法通过事件记录器启动正在测试的应用程序。
将光标放在 it
块内,然后单击事件记录器按钮启动事件记录器。
将显示一个带有浏览器选项的窗口。如果您使用的是 Sencha Test 2 WebDriver 场景选项,您将能够开箱即用地使用嵌入式 Google Chrome 浏览器选项进行录制。为此,您需要在目标计算机上安装 Google Chrome。
如果您正在运行浏览器内场景选项,您将能够使用计算机上的任何本地浏览器进行录制。
选择浏览器后,应用程序将在浏览器中呈现。在对应用程序执行操作之前,请等待记录器准备就绪。在开始处理应用程序之前,请寻找以下屏幕。
根据测试用例的用途对应用程序执行各种操作。
在执行操作时捕获事件。在 Sencha Studio 中,一个网格显示在事件记录器窗口中。检查目标列中的值。这可能是 Ext JS 或 ExtReact 框架自动生成的 id
。
单击目标列中的某个定位器,您将能够编辑或选择事件记录器生成的另一个定位器。根据执行操作的位置,可能会生成组件查询。选择此选项以获得更稳定的测试执行。
在上面的屏幕中,有一个带有目标列的网格。这表示用于识别应用程序中元素的目标定位器。在 Ext JS 和 ExtReact 应用程序中,您将看到多种定位器策略,如 ID、组件查询等。对于任何其他 Web 应用程序,Sencha Test 事件记录器将捕获 ID 或 XPath。
完成录制测试用例的所有步骤后,单击“插入录制”按钮。
录制的脚本存储在名为 ST.play
的 ST API 下。它看起来类似于以下内容
ST.play([
{ type: "tap", target: "treelistitem[text=\"Email\"]", x: 99, y: 44 },
{ type: "tap", target: "treelistitem[text=\"Profile\"]", x: 89, y: 41 },
{ type: "tap", target: "button[text=\"Follow\"]", x: 99, y: 33 }
]);
最后,在 ST.play
块后添加任何 expect
语句。