问题标签 [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.
php - Javascript 无法获取 Sahi 在
TL;DR : 在 Behat+Mink ( @javascript
w/ Sahi) 场景中,Sahi 在 an 中输入了一些文本,<input>
页面中的 Javascript 无法获取 Sahi 输入的内容
更新:
解决方案:下载最新版本的 Sahi 解决了这个问题。无论错误是什么,它都已得到纠正。
语境
我正在建立一个小型演示网站,向我的团队展示 Behat+Mink 可以做什么。有几页,可以输入一个正方形的大小并得到这个正方形的周长。一页使用普通的旧 POST 方法,另一页使用 Javascript 计算周长
“JS页面”的网址:http: //behatdemo.widop.com/js-square
为了向我的团队展示测试 javascript 是可能的,我使用 Sahi 作为 Mink 驱动程序,但它似乎不起作用。我写了一个场景,其中用户输入6
为正方形边长,并获取24
为周长([github 上的文件链接](https://github.com/clemherreman/behatdemo/blob/master/features/js_square.feature#L7 ))
注意:And I wait a little
是一个等待 10 秒的调试步骤,以便能够查看 Sahi Firefox 窗口上显示的内容
问题
似乎计算周长的 javascript 片段无法获得6
Sahi 输入的内容。这是代码([github上的文件链接](https://github.com/clemherreman/behatdemo/blob/master/website/views/js-square.twig#L27))
我没有"Perimeter (using js): 24 cm"
得到"Perimeter (using js): Error cm"
.
调试/想法
经过一番调查,事实证明它jQuery('#side').val()
返回一个空字符串,这就是为什么我显示“错误”而不是周长。
似乎 Javascript 无法获取 Sahi 在 Scenario 期间输入的内容。
我很坚持这个,我觉得我错过了一些东西。
链接:
- Github 项目(带
*.features
):https ://github.com/clemherreman/behatdemo - 直播网站:http ://behatdemo.widop.com/js-square
版本:
- 贝哈特:2.1.2
- 貂皮:1.1.1
- 萨希:3.5
- PHP:5.3.6
bdd - Behat/Mink 有什么可用的报告工具吗?
是否有任何可用的工具来分析我使用 Behat/Mink 启动的功能测试的输出?
就像是 :
- 我启动了多少次这个场景
- 失败了多少次
- 过了多少次
- 当某个场景自 X 天以来没有经过测试时,甚至可能会显示警告
实际上,每次测试后,输出都非常酷,但如果我们可以在每次测试后存储一些统计数据,那就更好了。
谢谢。
symfony - Behat 验证 Symfony2 用户
我在 Symfony2 / Doctrine2 中使用 Behat。现在,我有这种情况归结为“如果我登录并转到 /login,我应该转到 / 而不是”:
对于@login,我创建了以下内容:
在“当我去 /login”代码(控制器被调用)中,令牌似乎消失了(不是我想要的):
但在 FeatureContext 中,它似乎一直存在(我希望它会起作用)。在“鉴于我已登录”中:
我这样跑:
我也在控制器中这样做以确保它是测试:
任何线索如何验证用户?我将不得不测试很多管理页面,所以如果我可以将登录连接到@BeforeSuite、@BeforeFeature(或@BeforeScenario ...),这样我就不会被阻止。
(也欢迎有关禁用身份验证机制以进行测试的建议,或存根/模拟用户的方法。)
symfony - Behat 测试随机失败
我用 PHPUnit 和 behat/mink 测试了我的 Symfony2 项目。今天早上我在我的项目中添加了更多的行为测试,突然随机测试开始失败。似乎我达到了限制(内存?执行时间?其他东西?)但我找不到任何东西。
Travis-ci 在这个http://travis-ci.org/#!/tvlooy/ReadingCorner/builds/383016上没有失败
我的本地机器确实发生了故障(Lenovo R60、2GB RAM、2x 1.8Ghz CPU)。我在 32 位 x86 上运行 Fedora 16。PHP 5.3.8 (cli),带有 Xdebug v2.1.2、PHPUnit 3.6.2。
(编辑:我刚刚更新到 PHPUnit 3.6.4 并删除了 Xdebug 但问题仍然存在)
我运行我的 Behat 测试:
当我像这样运行测试时:
我已经将 php.ini 中的 memory_limit 提高到了 768M,但没有帮助。
我有 7 个功能文件,总共 57 个场景。不多,没有异国情调。这些文件位于https://github.com/tvlooy/ReadingCorner/tree/master/src/Ctors/ReadingCornerBundle/Features
我需要通过一个命令在我的本地机器上进行测试,因为我使用 PHPUnit(PHPUnit 中的包装特性)从它生成代码覆盖率。
有什么线索吗?
testing - 哪个更适合编写自动化测试用例,Behat-Mink Bundle 还是 Sahi Recorder?
目前我正在使用 Behat-Mink Bundle通过 sahi 执行自动化测试。
进行自动化测试的另一种方法是使用 Sahi Recorder 记录测试用例。
那么哪种方法更好,使用Sahi Recorder 还是 Behat-Mink Bundle?
谢谢你的时间。
symfony - 无法在 symfony2 中测试用户身份验证
我将 Symfony2 与 Behat、Mink 和 FosUser Bundle 一起使用。问题是登录测试总是失败(登录在开发中完美运行)。
测试失败,在当前页面的文本中找不到文本“注销”。关于缺少什么或如何调试问题的任何想法?
我可以使用 Behat/Mink 测试未经身份验证的页面。
[更新]
config_test 如下(只是相关位):
behat - 如何在 Behat 中为 HTML 格式化程序设置自定义模板
我尝试在我的 behat.yml 中并将模板放在我的 /support 目录中,但没有帮助。
有任何想法吗?
php - 有没有办法让 Behat 不会因 PHP Notice 错误而失败?
我知道在评估之前定义所有变量并检查数组索引是最佳实践。但是,我正在尝试对在一些尚未以这种方式编码的遗留代码之上开发的新功能进行一些测试。
Behat 失败并显示此消息:
我最终会修复这些通知,但我需要 Behat 暂时忽略来自 PHP 的通知。有没有办法做到这一点?
谢谢!
symfony - 如何在 Behat 中生成 url
我已经开始使用 BehatBundle 和 MinkBundle 测试我的 Symfony2 应用程序。现在我正在尝试编写检查某些页面响应的场景。这些页面可通过包含实体 ID 的 URL 访问。现在我想知道如何知道 Doctrine 插入了哪个 ID。
这是一个例子:
问题是我不知道如何找出插入的类别的 ID。Behat / Mink 有可能吗?
bdd - 为什么 Behat 在对基于 HTTPS 的登录服务运行 Mink 测试时会失败?
为了从用户的角度测试内部 IT 应用程序,我需要为我的场景建立 Behat 背景,包括登录到基于 cookie 的单点登录解决方案。
这是在 Givens 中设置日志记录的最低限度的测试。一旦成功,当然会有更多的“When”和“Then”。
当我运行这个场景时,第一个 Given 失败并出现错误:
到目前为止, FeatureContext
除了它扩展之外,没有任何自定义Behat\Mink\Behat\Context\MinkContext