Selenium WebDriver 引擎支持以下浏览器进行回放:
- Firefox 47.0.2 及更早版本
- Google Chrome
- Internet Explorer 11
- Safari 7-9.x on Mac OSX
- Microsoft Edge Windows Anniversary Edition (版本 38.14393)+ (请查阅 Microsoft Edge Notes 以获得其他信息)
- 基于 Chromium 的 Edge 浏览器版本 79+ (请查阅 Microsoft Edge Notes 以获得其他信息)。
使用 Parasoft Native Driver (legacy) 引擎录制和回放时支持以下浏览器:
- Internet Explorer 11
- Google Chrome 9+
- Firefox 3.6-54 (仅用于播放,不支持录制)
还可以通过桌面浏览器执行移动界面测试,如 移动界面测试中所述。
Firefox 注意事项
- Firefox 3 或更高版本中不支持回放允许浏览文件并上传的输入。
- 如果 Firefox 正在进行自动更新(更新已下载,但尚未安装),web 场景可能无法正确回放(Virtualize 将启动 Firefox,Firefox 将打开一个对话框检查附加组件兼容性;这会导致回放失败)。如果发生这种情况,请在 Virtualize 之外启动 Firefox,以完成更新安装。一旦更新完成,就可以像往常一样回放 web 场景。
Internet Explorer 注意事项
使用 Internet Explorer 之前,请查阅 配置 IE 浏览器设置。
对于 Internet Explorer 9 或 10,我们建议在注册事件侦听器时使用 addEventListener()。但是,如果使用 attachEvent(),这是一个特定于 IE 的事件模型,则需要手动更新
<Virtualize Directory>\eclipse\plugins\com.parasoft.xtest.libs.web_<version>\root\browsers\ie\HTMLUtil.js
,以强制 Virtualize 使用特定于 IE 的模型模拟 JavaScript 事件。您需要在这个文件中做以下更改:SOAtest
将
“ext.HTMLUtil.preferLegacyEventModel = false;"
更改为"ext.HTMLUtil.preferLegacyEventModel = true;"
Virtualize
将
“_wk_HTMLUtil.preferLegacyEventModel = false;"
更改为"_wk_HTMLUtil.preferLegacyEventModel = true;"
当 Internet Explorer 9 第一次启动时,它将打开一个警告对话框,其中声明“记录器注册器现在可以使用了”。您需要单击 Enable 以确保您的 web 场景能够正确地记录和回放。为了获得最佳效果,您应该在单击 Enable Enable后关闭并重新打开浏览器。
- 不支持模态对话框中的文件输入。
- Internet Explorer 8 及更高版本中不支持对文件输入(允许您浏览到文件并将其上载的输入)进行记录和回放。
Chrome 注意事项
- 当在 Linux 上指定 Chrome 可执行文件的路径时,请选择
google-chrome
(比如,/opt/google/chrome/google-chrome
)—notchrome
。在 Windows 上,路径通常是C:\Users\usernane\AppData\Local\Google\Chrome\Application\chrome.exe
。在 Mac 上,路径通常是/Applications/Google Chrome.app
。 - 如果您刚刚记录了一个 web 场景,而最后一步的浏览器内容没有被捕获,那么您可以播放该场景来捕获该内容。注意,当关闭浏览器窗口停止录制时,就会发生这种情况。推荐的最佳实践是通过单击 Stop Recording 按钮(而不是关闭浏览器窗口)来停止录制。
- 在 Chrome 上,自动生成异步请求测试只捕获来自
XMLHttpRequest
对象的请求。它不检测来自隐藏IFrame
调用的异步请求。如果需要,您可以手动添加这样的异步请求测试。
- 当用户对一个元素进行操作时,Chrome(与 Internet Explorer 和 Firefox 不同)不会检查其他帧,以确保定位器在帧之间是唯一的。因此,一个已记录的动作可能会在它所记录的帧之外的帧中回放。如果遇到这种意外行为,请确定一个唯一的定位器并更改浏览器回放工具中使用的定位器。
- 在某些情况下,在异步请求发生之前需要登录。Firefox 和 IE 将检测到这一点,测试套件将自动创建执行此登录的安装测试。然后,异步测试将使用通过登录创建的 cookie。Chrome 不支持这一点。对于 Chrome, SOAtest 可以生成异步请求测试,但是登录步骤需要手动设置。要么作为设置测试,要么作为异步测试之前运行的测试套件工具。
- Chrome 不支持对文件输入(允许浏览文件并上传文件的输入)进行记录和回放。
- 当使用 Parasoft 本机引擎在 Mac 上录制或回放 Chrome 时,关闭 Chrome 会打开一个对话框,上面写着“Google Chrome 希望使用存储在密钥链中的‘Chrome Safe Storage’中的机密信息。想允许访问这个项目吗?”即使您选择“总是允许”,这个对话框也会在每次 Chrome 启动和关闭时打开。若要防止每次打开此对话框:
- 请打开 Applications> Utilities> Keychain Access。
- 控件,单击 Chrome Safe Storage,然后从快捷菜单中选择 Get Info 。
- 切换到 Access Control,选择 Allowall applications to access this item,然后单击 Save Changes。您将需要输入管理员密码才能继续。
Safari 注意事项
Safari 支持使用 Selenium WebDriver 引擎进行回放。
• 有关相关限制的列表,请参见 Safari-Specific Issues。
Microsoft Edge 注意事项
必须有您 Edge 版本可执行正确的 MicrosoftWebDriver。如果您收到“无法启动 Microsoft Edge”的错误消息,您可能需要下载驱动程序。有关其他信息,请访问 https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver 。
启用对基于 Chromium 的 Microsoft Edge 浏览器的支持
对在未附带以下工具的基于 Chromium Edge 浏览器上的回放,msedgedriver.exe WebDriver 很有必要:SOAtest 和 Virtualize、可以通过以下网址下载驱动程序:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
将驱动程序保存至 <INSTALL>\eclipse\plugins\com.parasoft.xtest.libs.web_<version>\root\browsers\webdriver\edge\x86\ 目录,启用对基于 Chromium 的 Microsoft Edge 浏览器的支持。
在 Microsoft Edge 中对回放进行故障排除
当 SOAtest/Virtualize 进程以特权访问方式运行时,无法启动 Edge。采取以下行动来解决这个问题:
- 使用非管理员帐户或打开用户帐户控制通知的管理员帐户,以非特权进程的形式运行 SOAtest/Virtualize。
- 启用管理员用户的用户帐户控制通知:
非 Windows 家庭版:
- 打开本地安全策略(secpol.msc),并在本地策略/安全选项下启用 User Account Control Admin Approval Mode for the Built-in Administrator account 。
Windows 家庭版:
- 使用 regedit.exe 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- 如果不存在,则创建 DWORD 值 "FilterAdministratorToken"
- 将 "FilterAdministratorToken” 的值设置为 1
- 如果在启动期间从计划的任务启动 SOAtest/Virtualize,请确保启用了 Run only when user is logged on 选项。