在 Azure Pipeline 中使用“打开广告隐私功能”来阻止 Chrome 打开

JLo*_*JLo 5 testcomplete azure-pipelines azure-agent

我正在尝试使用 Windows 最新映像在 Microsoft Azure 托管代理上运行 TestComplete 自动化测试项目。测试永远不会结束,最终会出现 60 分钟的作业超时。

我已将测试超时减少到 5 分钟,并将测试可视化器屏幕截图上传到管道工件,我可以看到我的测试失败,因为 Chrome 首次在顶部显示“打开广告隐私功能”对话框。我的应用程序。

在运行测试之前,我可以调用命令行来禁用此功能吗?或者我是否需要在测试套件中编写特定检查的代码来手动清除此对话框?

Von*_*onC 2

首先检查在 Chrome 中禁用首次运行体验的--no-first-run标志是否更适合您的情况:

chrome.exe --no-first-run
Run Code Online (Sandbox Code Playgroud)

将此标志添加到TestComplete设置中,您可以在其中配置浏览器以进行自动化测试。

另一种方法是设置已关闭此对话框的 Chrome 用户配置文件。然后,您可以使用该--user-data-dir标志以该用户配置文件启动 Chrome。

chrome.exe --user-data-dir="path/to/custom/profile"
Run Code Online (Sandbox Code Playgroud)

您可以将此 Chrome 配置文件上传到 Azure Pipeline 的工作区,并在运行测试时引用它。


为了更新这一点,我们尝试在 TestComplete 中构建函数来查找并关闭这个窗口,我们必须在每个测试开始时包含该窗口......

虽然这是一种有效的方法,但它可能会给您的测试套件带来不必要的复杂性和维护开销。尽管如此,如果无法通过其他方式禁用该对话框,这仍然是一个很好的后备选项。

在 Azure Pipeline YAML 中,您可以包含一个在测试运行之前适当配置 Chrome 的步骤:

steps:
- script: 'chrome.exe --no-first-run'
  displayName: 'Configure Chrome'
  
# Your TestComplete task here
Run Code Online (Sandbox Code Playgroud)

或者,如果使用预先配置的配置文件:

steps:
- script: 'chrome.exe --user-data-dir="path/to/custom/profile"'
  displayName: 'Configure Chrome'
  
# Your TestComplete task here
Run Code Online (Sandbox Code Playgroud)