【发布时间】:2018-10-02 02:15:57
【问题描述】:
环境:在 Java 中针对 Chrome 进行 Selenium 测试
场景:在我的应用程序的 GUI 中,我有一个按钮,可以将一个充满数据的表单提交给外部服务,然后用户被重定向到外部服务登录页面.
因为我的应用程序在我的公司防火墙内,必须提供用户名/密码以供外部服务使用,但应用程序不知道这一点,因此不提供(它可以在生产中正常工作,但测试环境是特例)。因此,会出现一个弹出窗口,在手动测试期间,测试人员手动提供用户名和密码,然后提交对话框。这不是一个 JavaScript 对话框 - 我假设它是一个实际的模态 Windows 对话框,因此它有效地停止了处理,而 selenium 只是等待它消失。
问题:我正在尝试自动执行此过程,但无法通过对话框。因为对话框阻止了 java/selenium 的处理,所以我无法实现处理对话框的代码,例如集成 AutoIt 或使用 Robot ,因为在按下按钮后程序流永远不会到达该代码。通常,我会安装一个独立版本的 AutoIt 以在我的机器上在后台运行并捕捉弹出窗口(不理想,但它可以工作),但由于公司域策略的限制非常严格,这是不可能的在短期内。我怀疑他们有一个可执行文件的白名单,所以让任何第三方工具工作可能会很棘手。
有人能想出办法吗?
- 不能使用警报,因为这些不是 JavaScript 对话框
- 我必须能够输入用户名、密码并提交对话框
- 无法使用 AutoIt 或 Robot 等集成功能
- 由于域政策,无法使用像 AutoIt 这样的独立工具
我怀疑这是不可能的,但值得检查是否有任何明亮的火花有任何想法。
【问题讨论】:
标签: java selenium automated-tests