【问题标题】:Is adding an api interface to an alembic model a bad idea?将 api 接口添加到 alembic 模型是一个坏主意吗?
【发布时间】:2022-01-20 14:46:51
【问题描述】:

我正在使用分布式 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()

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

【问题讨论】:

    标签: python alembic selenoid


    【解决方案1】:

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

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

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

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

    如果您对任何工具仍有任何疑问,请随时通过Telegram support channel 提问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      相关资源
      最近更新 更多