问题标签 [behat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
phantomjs - 使用 behat 测试本地 PHP Web 应用程序时,Sahi + PhantomJS 失败
我在测试设置了 behat+sahi+phantomjs 的本地托管 Web 应用程序时遇到问题。
- 我只用 behat+sahi+chrome 运行了完整的套件,效果很好
- 我还针对运行良好的现场 stie 测试了一个小样本 behat 测试
当我将 base_url 指向本地托管的应用程序或部署了该应用程序的服务器时,问题似乎都会发生
像这样简单的事情:
输出结果:
我正在使用此处详述的设置:http: //shaneuckland.co.uk/2012/11/headless-behatmink-testing-with-sahi-and-phantomjs/
这是配置问题吗?还是因为该应用程序也托管在本地主机上?
我可以尝试如何进一步解决此问题?
谢谢
php - 在第 81 行对 vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php 中的非对象调用成员函数 getSession()
尝试从命令行运行我的行为测试时出现此错误。
错误的完整输出如下所示:
我的 behat.yml 是:
我有一个非常简单的 FeatureContext:
还有一个同样简单的功能:
symfony - Symfony2 中的 Behat 测试显示不需要的调试信息
当我在 Symfony2 项目中运行 Behat 测试时,我得到很多不需要的调试行,如下所示:
我的behat.yml
样子是这样的:
如您所见,我已经关闭了内核的调试模式,这些东西是从哪里来的?
我的安装基于 Behat 的 Symfony2 Extension。
behat - 使用 Behat/Mink 测试记住我的功能
我正在尝试在 Symfony2 项目中使用 Behat 和 Mink 测试记住我的功能。但是,我的方法不起作用。
我尝试了以下方法:
我的特征上下文包含(除其他外)以下方法:
问题出在iRestartTheBrowser()
. 这没有做它应该做的事情。我正在寻找一种清除会话数据但保留 cookie 的方法。有什么帮助吗?
macos - 如何从 Mac OS X 命令行调用浏览器(用于 Behat BDD 测试)?
在 Behat 测试中,您有一个上下文来“显示测试场景中步骤的最后响应”。这会启动一个带有最后响应的静态 html 的浏览器窗口。但是在 mac os 上运行它会返回错误:
sh: x-www-browser: command not found
知道如何将此命令设置到特定的浏览器(例如 chrome)吗?
behat - 使用 Behat 预定义步骤的翻译(Phar 安装)
我已经使用 Mink Extension 的预定义步骤定义运行了一些测试。只要他们使用英语,他们就可以工作。
现在我用德语步骤尝试了以下场景:
Behat 现在告诉我德语步骤定义未定义,而英语版本有效。
根据 CLI 帮助,behat --lang de -dl
应该显示翻译的定义,但它只显示英文的...
我在这里做错了什么?
编辑:这是一个重建场景的脚本。它遵循临时目录中的文档 ( http://extensions.behat.org/mink/#through-phar ) 中的安装步骤并运行测试功能文件。
php - PHPUnit & Behat; 补充还是替代?
我一直在寻找 SO 和 Google,但我无法真正得到明确的答案。
PHPUnit 是一个单元测试框架,类似于 JUnit。我使用它,还与 Selenium-extension 结合使用进行功能测试。浏览时,我看到 Behat/Mink 不断被提及。但我不完全理解 Behat 是如何适应这里的。
使用 Behat,您可以以人类可读的格式编写场景。然后 Behat 可以将其转换为新项目的骨架类吗?但它是否也为单元测试提供了骨架类?您是使用 Behat 编写单元测试,还是使用 PHPUnit / SimpleTest 来编写单元测试?
但是,Behat/Mink 确实取代了 PHPUnit_Selenium-extension 进行功能测试?
您是仅将 Behat 用于新项目,还是也可以适应现有项目?
php - 无法在 Symfony2 应用程序中使用 Sahi / Mink / Behat 上传文件
我在 Symfony2 应用程序中使用 Mink 和 Sahi 进行用户界面测试。但实际上我无法使用 Sahi 上传文件。
我的 Sahi 服务器已启动并正在运行:
我的步骤实现:
请注意,如果我使用不是/home/coil/Webdev/sahi/userdata
目录的文件,则会收到以下错误:
因此,Sahi 可以“找到”该文件,因为它不会对有效且现有的文件引发任何错误。但是当提交表单时,Sahi 代理永远不会上传文件。
其他检查:
- 我删除了客户端 HTML5 和 JavaScript 验证以确保没有副作用。
- 我所有其他的 Sahi 测试都可以,只有 3 个带有 Upload 的测试没有通过
- 代理是在我的测试浏览器中设置的
- 我可以毫无问题地在浏览器中打开 Sahi 控制器
- MaxOsX 和 Ubuntu 上的同样问题
- 每次我运行上传测试时,我都会在 /userdata/temp/download 中有一个新条目,命名为
sahi_11a83f8806be8046fc0aaa80eac076110b95__fr-fr-2-0.bdic
真正奇怪的是,我确信这些测试已经通过了一段时间,我的应用程序或配置中肯定发生了一些改变,这会破坏 Sahi 文件的上传,但我找不到什么。之前在 Sahi 控制台中,我有关于它正在上传的文件的日志,现在根本没有日志。
symfony - Behat+symfony2 访问自定义扩展中设置的容器参数
(我将解释情况,以防有人知道更好的方法来帮助我想做的事情)。
使用 Symfony2 + Behat + Symfony2Extension + Mink +
我们有一个包含多个 url 的应用程序,这些 url 将在场景中被访问。
我知道您使用从 FeatureContext __construct 方法发送的参数,但我要做的是在 behat.yml 文件中设置 url,以便我们可以在自定义上下文中使用它们来访问 url。
看看扩展是如何工作的,我已经设置了依赖注入,如下所示:
我的 behat.yml 看起来像这样:
现在在我的 FeatureContext.php 类中,我想做以下事情:
但这不起作用,它从我的 Symfony2 应用程序返回参数,这是预期的,因为我启用了 symfony2extension。但我无法从扩展类访问参数或服务。
(请注意,如果我在加载方法中的 Extension 类中并且我调用了我刚刚设置的参数它返回它,所以我知道它已设置,但它必须设置为不同的容器?)
首先这可能吗?如果是这样,我应该怎么做才能让它发挥作用。
非常感谢您的帮助。