许多类在使用配置对象创建(实例化)类时使用快捷名称。快捷名称称为别名
(如果类扩展 Ext.Component,则称为xtype
)。别名/xtype 列在适用类的类名旁边,以便快速参考。
框架类或其成员可以指定为私有
或受保护
。否则,类/成员为公有
。公有
、受保护
和私有
是访问描述符,用于传达如何以及何时使用类或类成员。
公有类和类成员可供任何其他类或应用程序代码使用,并且可以依赖于主要产品版本中的稳定性和持久性。公有类和成员可以通过子类安全地扩展。
受保护类成员是稳定的公有
成员,旨在供拥有类或其子类使用。受保护成员可以通过子类安全地扩展。
私有类和类成员由框架内部使用,不打算供应用程序开发人员使用。私有类和成员可能会随时更改或从框架中省略,恕不另行通知,并且不应在应用程序逻辑中依赖它们。
静态
标签。*请参见下面的静态。下面是一个示例类成员,我们可以对其进行剖析以显示类成员的语法(本例中从 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
)。备用类名通常用于向后兼容性。可运行示例(Fiddle)在默认情况下会在页面上展开。您可以使用代码块左上角的箭头单独折叠和展开示例代码块。您还可以使用页面右上角的切换按钮切换所有示例的折叠状态。切换所有状态将在页面加载之间记住。
类成员在默认情况下会在页面上折叠。您可以使用成员行左侧的箭头图标展开和折叠成员,或全局使用右上角的展开/折叠所有切换按钮。
在较窄的屏幕或浏览器上查看文档将导致针对较小尺寸优化视图。桌面和“移动”视图之间的主要区别是
可以通过单击 API 文档页面顶部的类名来查看类源。可以通过单击成员行右侧的“查看源”链接来查看类成员的源。
Selenium WebDriver 利用 JSON-on-Wire 协议(类似于 REST 服务),该协议使自动化框架与驱动程序进行通信。驱动程序是自动化 Web 浏览器并最终自动化您的网站或应用程序的接口或可执行文件。
注意
WebDriver 远程控制接口当前处于 W3C 的推荐状态。 台式机、平板电脑和移动设备上的所有主流 Web 浏览器都支持 WebDriver。
当您运行测试时,Selenium WebDriver 会通过 IP 连接到已配置的主机。自动化框架从网站或应用程序的 DOM 中检索信息,并返回要执行的操作。
注意
运行测试的计算机(即评估元素和协调操作)不一定是作为自动化 SUT 的浏览器的宿主机。
测试您的网站或应用程序意味着根据其规范确保正确的行为。就基于 Web 的技术而言,您还必须在各种不同的平台和浏览器上确保这一点。尽管存在 Internet 标准,但这些标准的实现始终取决于各个浏览器制造商。更重要的是,不同浏览器的版本以较短的周期发布,并对这些实现进行更改。您用于设计测试的计算机通常无法在不付出巨大努力的情况下验证同一浏览器的多个版本。
无论您使用哪个平台/操作系统,也没有办法在单个设备上跨所有可用浏览器进行测试。因此,最简单的解决方案是在手边拥有多个平台和浏览器版本,以便在上面自动化您的网站或应用程序。由于 Selenium WebDriver 通过网络与浏览器驱动程序通信,因此您可以在本地和远程执行之间无缝切换。您可以在不同的环境中运行相同的测试。
Selenium 服务器是一个主机应用程序,运行在专用于测试的机器上。在其默认配置中,它监听端口 4444 并接受自动化框架的请求来运行测试。它充当测试和 Web 浏览器之间的桥梁。您可以使用多台机器设置本地网络环境,并单独针对它们进行测试。如果您在本地执行测试,Sencha WebTestIt 将启动一个本地 Selenium 服务器实例并连接到它。
Selenium 网格是一项技术,它将一组 Selenium 服务器抽象到一个称为集线器的单一界面中。网格是具有用于测试的操作系统/浏览器组合的计算机网络。Selenium 网格允许您在大量环境中扩展测试,甚至并行执行它们。
提示
您可以设置自己的网格,或连接到网格提供商。网格提供商是一项为您操作 Selenium 网格的服务,并负责所有必要的硬件和软件以表示复杂的测试环境。
Sencha WebTestIt 集成了 Sauce Labs 作为网格提供商。您可以提供您的 Sauce Labs 用户名和访问密钥以开始使用。如果您使用的是其他提供商,则可以通过功能手动配置必要的身份验证。
在 Sencha WebTestIt 中,您可以定义多个配置以在其中运行测试。这些选项的集合存储在端点中。
注意
端点是一个 JSON 构造,表示一组设置。这些设置主要包括平台、浏览器和浏览器版本。但是,您可以缩小这些属性的范围或设置特定于浏览器的选项。
端点为被测系统托管一组配置和选项。这些配置称为功能。每个测试场景都应在一些特定的测试环境中执行。根据用例,您可以区分必需功能和期望功能。期望功能帮助我们定义将在测试脚本中使用的环境。自动化框架将查询 WebDriver 以满足指定的功能并相应地设置目标环境。例如,如果您指定 Google Chrome 作为浏览器,则将在目标主机上搜索 Chrome 实例并启动它以在其中自动执行测试。如果在本地或远程主机上不可用功能,则您的测试运行将失败。
注意
Sencha WebTestIt 允许您仅使用检测到的 WebDriver 和浏览器实例配置本地端点。这样,您在本地工作时可以避免配置错误。
您可以在此处找到 Selenium WebDriver 支持的所有功能的概述。
{ "platform": "macOS 10.12", "browserName": "safari", "version": "10.0" }
定义功能以在 macOS 10.12 和 Safari 版本 10 上进行测试的示例
如果您在 Selenium 网格上进行自动化,则功能处理通常更灵活。在连接到集线器的多个设备中,环境经过筛选和缩小,以满足请求的功能。功能的网格行为为您提供了很大的灵活性。确保您的网站或应用程序在网格上针对所有浏览器正常工作,只需定义浏览器并针对集线器执行它们,而无需考虑其版本。除了环境要求之外,您还可以使用功能来定义目标环境的设置。其中一些是特定于浏览器的,例如启用和禁用扩展名的选项。您可以在此处找到特定于浏览器的功能的概述。
端点可以针对您计算机上的单个浏览器实例,或位于远程机器上的浏览器实例。Sencha WebTestIt 区分您可以创建和管理的各种类型的端点。为您的项目配置的端点可以在执行选项卡中找到。
1 端点文件:当前选定的端点配置文件。您可以为每个项目创建和编辑多个端点文件。
2 操作菜单:使您能够创建新的端点文件,或删除当前端点文件。
3 + 按钮:单击此处将新的端点添加到当前配置文件。
4 列表选择器:单击此处选择或取消选择所有端点以执行。
5 端点:单个端点。
6 端点选项:单击此处编辑或删除端点。
7 运行当前测试文件:单击此按钮在所有选定的端点上执行当前活动的测试文件。仅当打开测试文件时才启用此按钮。
8 运行所有测试文件:单击此按钮在所有选定的端点上执行项目中的所有测试文件。
提示
端点存储在以
.endpoints.json
后缀结尾的文件中。您可以将它们放在项目结构中的任何位置。Sencha WebTestIt 将为您找到它们并将其列在执行选项卡中。
要在项目中添加新端点,请单击执行选项卡中的+按钮。如果您想编辑端点,请单击列表中其旁边的齿轮图标。在弹出对话框中,切换到您要创建或编辑的端点类型。按以下所述填写字段,然后单击保存端点以保存更改。
创建本地端点以在与编写测试相同的计算机上进行测试。Sencha WebTestIt 会自动检测已安装的浏览器,甚至可以通过 adb 连接到 Android 设备。
参考
如果您想在移动设备上进行测试,请单击此处以阅读如何连接 Android 设备。
字段 | 说明 |
---|---|
名称 | 为您的端点提供一个唯一名称。 它将显示在端点列表中,并帮助您识别端点。 |
平台和浏览器 | 您的端点由您要测试的平台(操作系统)和浏览器定义。 您可以在桌面和移动平台之间进行选择。 Sencha WebTestIt 会自动评估已安装的浏览器,并将它们列在浏览器下拉列表中。 注意:对于移动测试,您需要在计算机上安装 Android 开发工具和 adb。 |
所需功能 | 如果您想为环境配置指定其他选项,则可以将它们作为 JSON 代码键入此字段。 |
如果您在网络中运行 Selenium 服务器或网格的测试计算机,则可以使用此选项连接并执行测试。通过此方式,您可以访问计算机上安装的操作系统和/或浏览器版本以外的其他操作系统和/或浏览器版本。
提示
如果您想连接到单个远程计算机,请选择Selenium 网格选项,并指定地址以访问计算机,不带尾随
/wd/hub
。
字段 | 说明 |
---|---|
名称 | 为您的端点提供一个唯一名称。 它将显示在端点列表中,并帮助您识别端点。 |
提供程序选择器 | 选择要连接到的网格的提供程序。 Sauce Labs 需要其他身份验证。 如果您选择 Sauce Labs 作为提供程序,系统将要求您输入凭据。 |
所需功能 | 选择您要设置的环境。 在您单击获取可用功能按钮后,Sencha WebTestIt 会自动填充可用选项。 |
注意
在输入远程实例的 URL 和凭据后,单击获取可用功能按钮。Sencha WebTestIt 将查询端点以获取可用的操作系统/浏览器组合。
如果您想在网格上并行执行,则可以为具有不同功能的同一 URL 定义多个端点。
您可以通过手动提供一组您期望从远程系统获得的功能来定义自定义端点。自定义端点使您可以灵活地根据需要配置远程计算机。
注意
想象一下在 Selenium 网格中有一组不同的计算机。如果您要求网格在没有任何进一步定义的情况下在 Firefox 上运行,则将使用具有活动 Firefox 实例的第一个可用计算机。操作系统和操作系统版本将不被考虑,因为您没有指定功能。无法保证实际测试运行是在 Windows 10 还是 Windows 7 计算机上执行的。