我以this blog为例,阅读ParallerRunner信息。当我调用bin/behat
命令时,会打开一个浏览器窗口并使用以下设置成功运行所有测试。
的symfony / behat.yml
default:
context:
class: Site\CommonBundle\Features\Context\FeatureContext
extensions:
Behat\Symfony2Extension\Extension:
mink_driver: true
kernel:
env: test
debug: true
Behat\MinkExtension\Extension:
base_url: 'http://symfony.local/app_test.php/'
javascript_session: selenium2
browser_name: firefox
goutte: ~
selenium2: ~
paths:
features: %behat.paths.base%/src
bootstrap: %behat.paths.features%/Context
我修改了behay.yml(如下所示),在一个浏览器窗口中运行一些测试,在另一个窗口中运行一些测试,但是它没有这样做。它的作用是,它打开两个浏览器窗口,但它们都运行相同的测试!我怎样才能克服这个问题?
的symfony / behat.yml
default:
context:
class: Site\CommonBundle\Features\Context\FeatureContext
parameters:
output_path: %behat.paths.base%/build/behat/output/
screen_shot_path: %behat.paths.base%/build/behat/screenshot/
extensions:
Behat\Symfony2Extension\Extension:
mink_driver: true
kernel:
env: test
debug: true
Behat\MinkExtension\Extension:
base_url: 'http://symfony.local/app_test.php/'
files_path: %behat.paths.base%/build/dummy/
javascript_session: selenium2
browser_name: firefox
goutte: ~
selenium2: ~
shvetsgroup\ParallelRunner\Extension:
process_count: 2
paths:
features: %behat.paths.base%/src
bootstrap: %behat.paths.features%/Context
F1:
filters:
tags: "@backend"
F2:
filters:
tags: "@frontend"
BEHAT TESTS:
这应该在一个窗口中运行:
@frontend
Feature: User Login
@javascript
Scenario: I can login to the system
Given I am on "/login"
And I login as "user"
这应该在另一个窗口中运行:
@backend
Feature: Admin Login
@javascript
Scenario: I can login to the system
Given I am on "/login"
And I login as "admin"
答案 0 :(得分:1)
我使用GNU Parallel和xargs设置并行测试执行。
还为所有已执行的功能实施综合报告。
我这里的文章详情:
http://parallelandvisualtestingwithbehat.blogspot.com/p/blog-page.html
答案 1 :(得分:1)
[{'time', 'task', 'current', 'element'}, {'task', 'push', 'stack', 'element'}]
find ./features -name "*.feature" |
parallel --gnu --halt-on-error=0 -j 3 --keep-order vendor/bin/behat -c src/my_directory/behat.yml
的可能性是:
0如果作业失败,请不要暂停。退出状态将是工作数量 失败了这是默认设置。
1如果作业失败,请不要启动新作业,而是要完成运行 包括清理工作。退出状态将是来自的退出状态 最后失败的工作。
2立即终止所有作业,然后不进行清理就退出。出口 状态将是失败作业的退出状态。
--halt-on-error
:并行运行3个作业
它与硒完美配合。