gpt4 book ai didi

selenium - 不同浏览器下运行behat测试

转载 作者:行者123 更新时间:2023-12-01 10:46:00 25 4
gpt4 key购买 nike

我想在某些浏览器中运行 behat 测试,所以当我输入类似这样的内容时 bin/behat firefoxbin/behat chromebin/behat opera 测试应该在各自的浏览器下运行。可能吗?如果是这样,我应该如何修改下面的 yml 或其他任何内容?我需要这样的东西的原因是 selenium 有时不喜欢基于其版本的某些浏览器。

我通读了this post但我并没有安静地将它应用于我的 behat.yml

behat.yml:

default:
context:
class: Football\LeagueBundle\Features\Context\FeatureContext
parameters:
output_path: %behat.paths.base%/test/report/behat/output/
screen_shot_path: %behat.paths.base%/test/report/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%/test/dummy/
browser_name: firefox
goutte: ~
selenium2: ~
paths:
features: %behat.paths.base%/src
bootstrap: %behat.paths.features%/Context

示例特征

Feature: Visit Home Page
In order to see hello message
As a user
I should be able to visit home page

#SUCCESS
@javascript
Scenario: I visit home page
When I go to "/"
Then I should see "Hello Symfony!"

#FAIL
@javascript
Scenario: I visit home page
When I go to "/"
Then I should not see "Hello Behat!"

最佳答案

文档一次又一次地糟糕,所以你需要尝试一下配置。我相信有几种方法可以实现这一点,但建议的配置文件方法应该是最简单的。如果我得到正确的一切,它可以像这样完成。

default:
context:
class: Football\LeagueBundle\Features\Context\FeatureContext
parameters:
output_path: %behat.paths.base%/test/report/behat/output/
screen_shot_path: %behat.paths.base%/test/report/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%/test/dummy/
browser_name: firefox
goutte: ~
selenium2: ~
paths:
features: %behat.paths.base%/src
bootstrap: %behat.paths.features%/Context

chrome:
extensions:
Behat\MinkExtension\Extension:
browser_name: chrome

firefox:
extensions:
Behat\MinkExtension\Extension:
browser_name: firefox

我不是 100% 确定,但我记得 Behat 将默认配置文件与其他配置文件合并,因此希望您不必复制所有内容,如果这不起作用,请尝试定义完整的配置文件。

另外,看看 this comment ,您可以定义每个配置文件包含哪些标签,如果您只想在特定浏览器中运行特定测试,这可能非常有用。

要运行它,您需要指定配置文件:

$ behat -p firefox
$ behat -p chrome

关于selenium - 不同浏览器下运行behat测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25908127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com