本主题介绍了 SOAtest 的 web 功能(跨浏览器)测试能力。在本章节中:
Web 测试前言
Web 接口测试很难自动化。团队经常放弃自动化测试,而使用手动测试来代替,因为自动化测试会产生许多误报,或者因为维护测试套件需要太多的时间和精力。
SOAtest 旨在减少这些障碍。它在无需脚本的情况下便可隔离和测试独立的应用程序组件,用于跨多个浏览器的正确功能。动态数据可以用常数数据来剔除,以降低测试用例噪音。验证可以在页面对象级别上执行,也可在 HTTP 消息级别上执行,SOAtest 还通过异步 HTTP 消息桩函数在预期和意外情况下验证客户端 JavaScript 引擎。
关于 WebDriver 引擎
可以使用 Selenium WebDriver 进行 web 场景回放,也可以使用 Parasoft Native Driver (legacy) 引擎。有关更多详情信息,请查阅 关于 Selenium WebDriver 引擎。
浏览器录制和跨浏览器执行
Web 测试的第一步是浏览器录制,其在 浏览器录制和回放中进行了描述。
一旦创建完成,测试将按照 执行功能测试中的描述执行。
扩展和重用 Web 场景
可以快速扩展已记录的 web 场景,以满足目标。以下示例是扩展和重用 web 场景的常见实践:
- 配置跨浏览器测试;请查阅 配置浏览器回放选项
- 配置用户操作;请查阅 修改 Web 场景模拟的用户操作
- 配置验证;请查阅 验证或存储值
- 配置等待条件;请查阅 Configuring Wait Conditions
- 确定测试执行前后发生的操作;请查阅 添加 Set-Up 和 Tear-Down 测试。
- 配置执行选项,如测试序列、测试关系和测试流逻辑;请查阅 配置测试套件属性 - 测试流逻辑、变量等。
- 通过 web 接口、后端服务、ESBs、数据库和两者之间的一切来扩展的端到端测试场景; End-to-End Test Scenarios
- 负载测试;请查阅 Load Testing
- 渗透测试;请查阅 渗透测试
- 运行时错误检测;请查阅 执行运行时错误检测
- 数据驱动测试;请查阅 使用数据源、变量或来自其他测试的值对测试进行参数化。
- 使用桩函数和环境来配置可预测和可访问的测试平台;请查阅 在不同的环境中配置测试。
浏览器支持
Selenium WebDriver 引擎支持以下浏览器进行回放: 使用 Parasoft Native Driver (legacy) 引擎录制和回放时支持以下浏览器: 使用 Internet Explorer 之前,请查阅 配置 IE 浏览器设置。 对于 Internet Explorer 9 或 10,我们建议在注册事件侦听器时使用 addEventListener()。但是,如果使用 attachEvent(),这是一个特定于 IE 的事件模型,则需要手动更新 SOAtest 将 Virtualize 将 当 Internet Explorer 9 第一次启动时,它将打开一个警告对话框,其中声明“记录器注册器现在可以使用了”。您需要单击 Enable 以确保您的 web 场景能够正确地记录和回放。为了获得最佳效果,您应该在单击 Enable 后关闭并重新打开浏览器。 Safari 支持使用 Selenium WebDriver 引擎进行回放。 • 有关相关限制的列表,请参见 Safari-Specific Issues。 必须有您 Edge 版本可执行正确的 MicrosoftWebDriver。如果您收到“无法启动 Microsoft Edge”的错误消息,您可能需要下载驱动程序。有关其他信息,请访问 https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver 。 当 SOAtest/Virtualize 进程以特权访问方式运行时,无法启动 Edge。采取以下行动来解决这个问题: 非 Windows 家庭版: Windows 家庭版:
还可以通过桌面浏览器执行移动界面测试,如 移动界面测试中所述。Firefox 注意事项
Internet Explorer 注意事项
<Virtualize Directory>\eclipse\plugins\com.parasoft.xtest.libs.web_<version>\root\browsers\ie\HTMLUtil.js
,以强制 Virtualize 使用特定于 IE 的模型模拟 JavaScript 事件。您需要在这个文件中做以下更改:“ext.HTMLUtil.preferLegacyEventModel = false;"
更改为"ext.HTMLUtil.preferLegacyEventModel = true;"
“_wk_HTMLUtil.preferLegacyEventModel = false;"
更改为"_wk_HTMLUtil.preferLegacyEventModel = true;"
Chrome 注意事项
google-chrome
(比如, /opt/google/chrome/google-chrome
)—not chrome
。在 Windows 上,路径通常是 C:\Users\usernane\AppData\Local\Google\Chrome\Application\chrome.exe
。在 Mac 上,路径通常是 /Applications/Google Chrome.app
。XMLHttpRequest
对象的请求。它不检测来自隐藏 IFrame
调用的异步请求。如果需要,您可以手动添加这样的异步请求测试。Safari 注意事项
Microsoft Edge 注意事项
在 Microsoft Edge 中对回放进行故障排除