0

我正在使用分布式 selenoid 云基础架构来分发我的自动化测试。为了跟踪 selenoid 实例,我在 MySQL 中有一个 selenoid 表,它跟踪哪些 selenoid 实例被启用和禁用。

我使用 python alembic 库对这个表进行了建模。

我现在处于需要对 selenoid 实例进行一些自定义 api 调用的情况。我正在考虑将api接口直接添加到模型中。这样我可以查询我的 selenoid 实例,然后立即使用结果进行 api 调用。

我在想的例子:

selenoid_instances = session.query(Selenoids).all()

for selenoid in selenoid_instances:
  videos = selenoid.get_videos()

这是一个好的设计实践还是一个坏主意?

4

1 回答 1

0

免责声明:我是 Selenoid 的核心贡献者之一。

我们有两个免费的开源解决方案,它们根本不需要数据库,但仍然允许跨多个 Selenoid 实例分发请求。

  1. Ggr - 这用于分发 Selenium 请求和其他功能,例如下载视频和视频录制。
  2. Ggr UI - 这是为了从多个 Selenoid 实例中自动获取启动的浏览器会话。此守护程序的主要用例是在同一 UI 中显示整个集群的所有正在运行的浏览器会话。

因此,我不使用 MySQL 数据库,而是直接查询这些守护进程。此外,如果您需要下一代 Selenium 解决方案 - 看看Moon(但这是闭源和商业的)。

如果您对任何工具仍有任何疑问,请随时在Telegram 支持频道中提问。

于 2021-12-19T06:01:26.973 回答