2017-08-22 1 views
2

Je cherche à transmettre l'en-tête d'autorisation en tant que variable à un autre fichier de caractéristiques. Voici un exemple que je suis en train de faire:Test d'API de karaté - Passer une variable d'un fichier de caractéristiques à un autre

Feature: Resource Creation 
     Background: 
     * url baseUrl 

     Scenario: Create Resource 
      Given def basictoken = 'Basic Zn*****'   
      And def token = call read('classpath:endpoints/UserLogin.feature') 
      Given path 'lobs' 
      And header X-XSRF-TOKEN = token.xsrftoken 
      And header Cookie = 'SESSION='+token.scookie+'; '+'XSRF-TOKEN='+token.xsrftoken 
      And request [{"name":"Boston"}] 
      When method post 
      Then status 200 

Voici le fichier, il fait référence à:

Feature: Common User Login 
Background: 
    * url baseUrl 

Scenario: 
    Given path 'security/user' 
    And header Authorization = '#(basictoken)' 
    When method get 
    Then status 200 
    Given path 'rname/name' 
    When method get 
    Then status 200 
    And def xsrftoken = responseCookies["XSRF-TOKEN"].value 
    And def scookie = responseCookies["SESSION"].value 

Je reçois l'erreur quand à And header Authorization = '#(basictoken)' Est-il possible que je peux le transmettre? Quand je le code en dur à sa valeur, je ne vois aucun problème. Pourriez-vous nous aider à transmettre une variable d'un fichier de caractéristiques à un autre. Merci d'avance.

+0

homme sérieux, je mets beaucoup d'efforts dans la documentation, s'il vous plaît lire: P Merci –

Répondre

2

S'il vous plaît faire ce changement:

Given def token = call read('classpath:endpoints/UserLogin.feature') { basictoken: 'Basic Zn*****' } 

Tous les meilleurs: P

+0

@Peter Thomas. Cela a aidé. – Saurabh