我正在使用 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/