首页 > 解决方案 > 如何自动化与父网页交互的 chrome 扩展?

问题描述

我想自动化 chrome 扩展的测试。

我已经使用 selenium-python 来自动化父网页,但我无法使用 selenium 来自动化 chrome 扩展,因为 selenium 绑定到网页视图,所以我无法点击 chrome 扩展图标存在在谷歌浏览器的标题栏中。由于这个限制,我尝试使用 sikuli 单击 chrome-extension 图标,但我无法获取单击扩展图标时出现的 chrome-extension 弹出 HTML 的 DOM,因为我必须访问显示的文本通过扩展的弹出 html 页面,然后对其进行评估。我的测试失败了。

我以为我可以使用 shift_to_window() 但徒劳无功,因为它是一个弹出的 html,因此我无法转换。如果我使用 sikuli,随着测试用例的增加,自动化所需的图片数量也会增加,所以这将是不可行的。

示例截图,在这张图片中,网上商店页面是父页面,右上角的小弹出窗口,是我正在谈论的弹出窗口,在单击 chrome 扩展后出现。所以基本上我必须与那个弹出的 HTML 交互。

标签: pythonseleniumgoogle-chrome-extensionautomated-testssikuli

解决方案


我不太明白为什么你不能用 Selenium 自动化你拥有的任何网页,以及你描述的限制是什么。也许截图甚至相关网页的链接之类的示例可以提供帮助。此外,我不明白为什么在使用 Sikuli 时无法从页面中提取 DOM 是一个限制。Sikuli 没有从 DOM 中获得任何好处,它纯粹基于屏幕的视觉内容。

我会尝试使用标准 Selenium 功能来处理您描述的弹出窗口,如下所示:

driver.switchTo().alert().dismiss();

还有其他警报处理选项,因此您可以选择最适合您的选项。


推荐阅读