小编san*_*nte的帖子

如何使用不同环境(不同的URL)进行同一测试中的两个站点进行测试

我正在使用Behat和Mink来测试几个站点.其中两个使用Single Sign On,因此我的一个测试包括在一个站点登录,转到第二个站点并检查我已登录.

这是使用这个behat代码完成的:

Feature: SSO
  In order to login in all related sites
  As a anonymous user
  I want to login in just one site


Scenario: Login with normal user
  Given I am on "/user/login"
  When I fill in "name" with "username"
    And I fill in "pass" with "password"
    And I press "login"
  Then I should see "My account"
    And I go to "http://server.developer1.workstations/"
  Then I should see "Close session"
Run Code Online (Sandbox Code Playgroud)

这有效,但问题是这一行:

    And I go to "http://server.developer1.workstations/"
Run Code Online (Sandbox Code Playgroud)

我们有不同的环境(本地开发,开发,交错)和不同的URL,因此我无法编写适用于每台机器的测试.第一台服务器没关系,因为我可以为每台机器设置不同的base_url设置,但我找不到将第二台服务器设置为常规设置的方法,而不是重写改变第二台服务器URL的每个功能文件.

有没有办法声明变量,常量或可以存储在每个机器不同的文件中的东西?

automated-tests qa web-testing behat mink

7
推荐指数
1
解决办法
1910
查看次数

使用ansible打印在YAML文件中缩进的变量值

我正在使用Ansible生成Behat配置文件.此配置文件是YAML文件.我正在使用这样的Jinja2模板:

default:
  paths:
    features: '../all/tests/features'
  filters:
    tags: "~@api&&~@drush"
  extensions:
    Behat\MinkExtension\Extension:
    files_path: '{{ project_docroot }}/sites/all/tests/files'
      files_path: '{{ project_docroot }}'
      goutte: ~
      selenium2: ~
      base_url: '{{ base_url }}'
    Drupal\DrupalExtension\Extension:
      blackbox: ~
      drush_driver: "drush"
      drush:
        root: "{{ project_docroot }}"
      api_driver: "drupal"
      drupal:
        drupal_root: "{{ project_docroot }}"
      region_map:
{{ project_behat_region_map }}
      selectors:
{{ project_behat_selectors }}
Run Code Online (Sandbox Code Playgroud)

以下定义的变量:

project_behat_region_map: |
        content: "#content"
        footer: "#footer"
        header: "#header"
        header bottom: "#header-bottom"
        navigation: "#navigation"
        highlighted: "#highlighted"
        help: "#help"
        bottom: "#bottom"

project_behat_selectors: |
        message_selector: '.messages'
        error_message_selector: '.messages.error'
        success_message_selector: '.messages.status'
        warning_message_selector: …
Run Code Online (Sandbox Code Playgroud)

yaml ansible ansible-template

6
推荐指数
1
解决办法
7855
查看次数