jjzjj

php - 如何让 Mink Selenium 2 Driver 等待页面加载 Behat

我正在从Behat2.x系列升级到Behat3.x系列。在之前的版本中,我可以加载Selenium1驱动程序,它附加到PhantomJS以执行测试。当我这样做时,我能够连接到一个名为waitForPageToLoad()的函数。此功能由php-selenium(来自AlexandreSalomé)提供。它连接到selenium并调用同名的驱动程序操作。这对于确保Selenium等待页面加载非常有效。至少直到达到超时。它使测试进行得更快。问题是Selenium1驱动程序与Behat3.x不兼容。看起来它几乎已被放弃,我在Mink的Selenium2驱动程序中没有看到该功能。有谁知道使用B

php - 有没有办法让 Behat 在 PHP 通知错误时不失败?

我知道最佳做法是定义所有变量并在评估前检查数组索引。但是,我正在尝试对在一些未以这种方式编码的遗留代码之上开发的新功能进行一些测试。Behat失败并显示此消息:Scenario:Addanewresource#features/accounting.feature:6GivenIamuser"admin"#FeatureContext::iAmUser()Notice:Undefinedindex:13inclassloader.phpline126WhenIcreateanewresource#FeatureContext::iCreateANewResource()Then[...

javascript - Behat 测试验证消息

我有使用JavaScript的验证表单,我想测试验证消息,因为消息使用的语言很少。但是,Behat抛出异常Couldnotopenconnection:CurlerrorthrownforhttpPOSTtohttp://localhost:4444/wd/hub/sessionwithparams:{"desiredCapabilities":{"tags":["vagrant-ubuntu-trusty-32","PHP7.0.1-2+deb.sury.org~trusty+1"],"browser":"firefox","ignoreZoomSetting":false,"nam

php - Behat 和 Symfony2 捆绑问题?

我在Symfony2包(版本2.2.2)中的Behat(2.4.*@dev)init进程遇到了一些问题。命令后:bin/behat--init"@CompanyAppBundle"behat目录是在应用程序根目录中创建的,而不是在包中。输出是:+dfeatures-placeyour*.featurefileshere+dfeatures/bootstrap-placebootstrapscriptsandstaticfileshere+ffeatures/bootstrap/FeatureContext.php-placeyourfeaturerelatedcodehere问题出在哪

php - Behat是否可以根据当前环境使用不同的步骤数据?

我遇到了一个难题。我们有一个过时的系统,我正在为其编写Behat测试。它在大多数情况下都很好用。但我注意到一个问题,如果我针对当前环境测试的数据是针对/从不同环境提取的,Behat测试将失败。例如,如果我在QA中测试电话搜索功能并希望它返回特定的实体ID,我就不能使用相同的电话号码和实体ID在RC或Live中进行测试。所以我想要一种可管理的方式来维护Behat中每个环境的测试数据。这里有一些想法,例如将数据放入配置文件(非常不受欢迎)或为每个功能创建CSV文件。我也在考虑使用表格或场景大纲构建所有特定于数据的场景,并拥有一个环境列,用于检查当前环境并在该行不适用于当前环境时跳过。也许使

php - Behat with Jenkins - 如何为 PHP 应用程序提供服务?

我最近开始使用Behat与Mink在使用Slim微框架的PHP项目上,我的Behat测试工作正常,但我想将它们作为我构建的一部分运行,它使用SebastianBergmann的Jenkins-PHP模板。为此,我希望我需要运行一个网络服务器来为Slim应用程序提供服务。显而易见的答案似乎是PHP5.4的内置Web服务器,但我仅限于PHP5.3。我目前唯一的想法是有一个部署阶段,如果Ant构建通过,Jenkins会在服务器上部署一个工作区,然后针对它运行Behat测试。感觉这需要大量工作并且可能不稳定,而且还需要启动另一个虚拟机,而我宁愿避免这种情况。我们希望在大量不同的项目中使用Beh

php - behat 3中如何在上下文之间进行通信?

我不能再在版本3中使用getMainContext()和getSubcontext($alias)。version3中context之间的通信方式是什么?contexttraits是唯一的方式吗?#behat.ymldefault:suites:guest_features:paths:[%paths.base%/features/web]filters:{role:guest}contexts:[GuestContext]user_features:paths:[%paths.base%/features/web]filters:{role:member}contexts:[Memb

php - 无法在 Symfony2 应用程序中使用 Sahi/Mink/Behat 上传文件

我在Symfony2应用程序中使用Mink和Sahi进行用户界面测试。但实际上我无法使用Sahi上传文件。我的Sahi服务器已启动并正在运行:[09:51:33]coil@ubuntu:~/Webdev/sahi/bin$./sahi.sh--------SAHI_HOME:..SAHI_USERDATA_DIR:../userdataSAHI_EXT_CLASS_PATH:--------Sahipropertiesfile=/home/coil/Webdev/sahi/config/sahi.propertiesSahiuserpropertiesfile=/home/coil/W

php - Behat 和 Symfony 数据装置

我想知道是否可以为Behat测试使用单独的数据库?有没有什么方法可以像使用PHPUnit那样删除和截断数据库并使用它加载数据装置? 最佳答案 您可以创建一个新环境(如测试、开发和生产)并以您喜欢的方式配置它。作为配置behatenv的示例,请执行以下操作:在名为web_behat.php的web文件夹中创建一个新文件>在config文件夹下定义一个config_behat.yml在parameters_behat.yml中自定义您的参数然后在你的行为测试中使用这个环境,你可以在其中加载你的固定装置等我不知道你可以在behat场景中设

php - 如何使用 echo 调试 Behat 3 中的功能

我正在尝试调试Behat3中的一项功能以查看发生了什么。Echo语句似乎不起作用-我没有得到任何输出。我目前尝试使用的步骤如下所示:/***@Then/^echolastrequest$/*/publicfunctionechoLastRequest(){echo($this->_history->getLastRequest());echo'test';} 最佳答案 您可以使用简单的print_r()或var_export():var_export('DEBUG!!!'); 关于php