testing - elixir 社区如何推荐使用 chromedriver 设置集成测试?

标签 testing elixir selenium-chromedriver phoenix-framework

我正在使用 Hound ( https://github.com/HashNuke/hound ) 对 Phoenix 应用程序进行集成测试。我有 chrome 和 chrome headless 工作。为了让它工作,我有另一个运行 chromedriver 的终端窗口(通过 brew 安装)。这让我觉得很奇怪。有没有感觉更“集成”到应用程序中的库或测试设置? Elixir 的做法是什么?

在 Ruby 世界中有 webdrivers gem ( https://github.com/titusfortner/webdrivers )。据我所知,它将指定的驱动程序(比如 chromedriver)下载到 $HOME。然后在每次测试运行时,测试使用下载到该目标的驱动程序来执行测试。

webdrivers gem 之前有 chromedriver-helper gem。在此之前它是 phantomjs。这些实现使得运行集成测试需要 1:下载驱动程序 2:运行测试

在 Elixir(带有 Hound)中,我首先在终端拆分中运行 chromedriver --verbose 进行测试,然后在另一个屏幕中运行 mix test。这工作正常但感觉脱节。这增加了额外的步骤,1:下载驱动程序 2:启动驱动程序 3:运行测试 4:停止驱动程序

我可以手动编写脚本在后台运行 chromedriver,并在测试运行后停止它。

我是 Elixir 社区的新手,所以我研究了很多。我仍然不清楚是否有一条“行进路径”我应该走下去,而不是手动连接所有东西。

我错过了推荐的抽象吗?这是故意的吗?这是“还没有创建”吗?

谢谢

最佳答案

你看过小袋鼠了吗?参见 https://github.com/keathley/wallaby

关于testing - elixir 社区如何推荐使用 chromedriver 设置集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56512328/

相关文章:

java - 如何关闭 chrome 浏览器弹出窗口?

python - Selenium Chrome 获取文本在 headless 模式下不起作用

android - 通过 Android API <= 23 上的 Appium 功能更改语言

elixir - 如何在 Elixir 中启动操作系统进程

python-3.x - selenium.common.exceptions.WebDriverException : Message: invalid argument: value must be a non-negative integer with ChromeDriver and Selenium

json - Elixir - 嵌套 JSON 解析为结构

recursion - 如何在 Elixir 中模拟 Ruby 的 until 循环?

c++ - 使用 C 单元测试框架测试嵌入式 C++ 代码的局限性

reactjs - 如何使用 Material UI v4 选择包含在 ForwardRef 中的组件?

php - 如何使用Codeception验收助手?