php - Codeception vs peridot + php-webdriver?

标签 php selenium acceptance-testing

我想为我公司的旧版 PHP 应用实现一些基本的验收测试。 Selenium WebDriver 看起来最合适,但我需要有关使用哪种测试框架的建议。

选项 1
我们的单元测试写在 Peridot PHP 中,我知道 WebDriver 可以通过 php-webdriver 从 PHP 运行.因此,看起来我应该能够编写一套使用 php-webdriver API 与网站交互的 Peridot 测试。它已为 PHPUnit 完成,乍一看我不明白为什么 Peridot 不能做同样的事情(吞咽)。

选项 2
或者,我也知道 Codeception框架与 WebDriver 集成良好。这样做的好处是 Codeception 负责设置 WebDriver 服务器和加载测试数据库。它还允许一组非常漂亮、可读的英语测试,尽管这意味着要维护两个独立的测试框架。

注意事项

  • Codeception 对 WebDriver 命令集的覆盖程度如何? (即我可以通过 Codeception 在 Selenium IDE 中做任何我可能尝试的事情吗?)
  • Codeception 是否允许我使用 PageObject 设计模式?
  • 在设置我的 WebDriver 服务器和测试数据库方面,如果没有 Codeception,我将面临什么样的学习曲线? Codeception 甚至可以使它变得更容易吗?
  • 有 Firefox 插件可以将“Selenese”(html) 测试用例转换为 PHPUnit 或 Codeception 格式。 PHPUnit 测试用例需要适应 Peridot,但 Codeception 转换器仍处于 alpha 阶段,不会转换所有内容。我宁愿不要大量使用这些,但它们肯定会帮助学习曲线。其中任何一个的可靠性如何?

最佳答案

官方 WebDriver 插件肯定会用于 Peridot,但与此同时,使用作用域混合 WebDriver 支持非常容易。

我们实际上使用 WebDriver 来演示这里的作用域:

https://github.com/peridot-php/peridot-scope-example

关于php - Codeception vs peridot + php-webdriver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246436/

相关文章:

php - 如何查询表的列名

python - selenium webdriver中的UTF编码

python - Python 有像 Capybara/Cucumber 这样的东西吗?

javascript - 如何在 EmberJS 验收测试中调用输入和按钮?

php - Facebook 应用程序,好友数据访问 token 不起作用

php - 用PHP抓取脚本的绝对URL?

php - 在我的 Laravel 网站上集成 WordPress 博客的最佳方式是什么?

selenium - 如何安装 Selenium RC?

python - 具有预期条件的 Selenium : 'str' object is not callable

selenium - Codeception 验收测试在浏览器启动之前运行