2014-09-03 4 views
5

Ho uno schema di scenario cetriolo in cui tabella di esempi vorrei passare una stringa vuota ("") e interruzioni di riga (\ n \ n \ n) come valore. Voglio modificare un campo di testo e sto cancellando la stringa e voglio passare nella stringa vuota o nelle interruzioni di riga. Voglio inviare questo valore e premere invio. Questo apparirebbe come questo .sendKeys (value + "\ n"). Nella tabella di esempio, lasciare il valore vuoto e passare \ n \ n \ n non funziona. Il valore nel campo di testo non viene modificato.
Questo è come la sagoma scenario assomiglia:Cetriolo Scenario Struttura: passaggio di stringa vuota "" come valore nella tabella Esempi

Scenario Outline: Do not accept erroneous input as group conversation name (only spaces and break lines) 
Given I Sign in using login <Login> and password <Password> 
And I see Contact list with name <Name> 
And I create group chat with <Contact1> and <Contact2> 
When I open conversation with <Contact1>, <Contact2> 
And I open Conversation info 
And I set name <NewName> for conversation 
Then I do not see conversation <NewName> in contact list 
And I see Contact list with name <Contact1>, <Contact2> 

Examples: 
    | Login | Password | Name | Contact1 | Contact2 | NewName  | 
    | aqaUser | aqaPassword | aqaUser | aqaContact1 | aqaContact2 |    | 
    | aqaUser | aqaPassword | aqaUser | aqaContact1 | aqaContact2 | \n\n\n\n  | 

Come faccio a passare i valori?
Quando sto passando i valori come hardcoded, funziona. Il campo di testo viene sostituito almeno con i valori, ma mi piacerebbe averlo come segnaposto.
hard versione codificata:

Scenario Outline: Do not accept erroneous input as group conversation name (only spaces) 
Given I Sign in using login <Login> and password <Password> 
And I see Contact list with name <Name> 
And I create group chat with <Contact1> and <Contact2> 
When I open conversation with <Contact1>, <Contact2> 
And I open Conversation info 
And I set name  for conversation 
Then I do not see conversation  in contact list 
And I see Contact list with name <Contact1>, <Contact2> 

Examples: 
    | Login | Password | Name | Contact1 | Contact2 | 
    | aqaUser | aqaPassword | aqaUser | aqaContact1 | aqaContact2 | 

Scenario Outline: Do not accept erroneous input as group conversation name (line breaks) 
Given I Sign in using login <Login> and password <Password> 
And I see Contact list with name <Name> 
And I create group chat with <Contact1> and <Contact2> 
When I open conversation with <Contact1>, <Contact2> 
And I open Conversation info 
And I set name \n\n\n\n\n for conversation 
Then I do not see conversation \n\n\n\n\n in contact list 
And I see Contact list with name <Contact1>, <Contact2> 

Examples: 
    | Login | Password | Name | Contact1 | Contact2 | 
    | aqaUser | aqaPassword | aqaUser | aqaContact1 | aqaContact2 | 

Tutte le idee? Grazie

+0

Hi @julesmummdry! Hai finalmente usato la mia soluzione? Se è così, forse potresti contrassegnare la risposta come accettata se ha aiutato – troig

risposta

7

È sufficiente inserire lo <columnName> tra "" nella definizione della funzione. Esempio:

And I set name "<NewName>" for conversation 

nella definizione passo, il passo potrebbe essere annotato come la seguente:

@And("^And I set name \"([^\"]*)\" for conversation$") 
    public void And_I_set_name_for_conversation(String newName) throws Throwable { 
     ... 
    } 

Speranza che aiuta

+1

grazie, lo proveremo ... trovato nel frattempo una soluzione diversa. Quindi passo il carattere unicode per SPACE e lo sfuggi (\\ u0020). Dispongo di un oggetto Stringparser che lo scuote e lo imposta come nome (name = StringParser.unescapeString (name);). Questo funziona per me, ma controllerà il tuo tipp. grazie – julesmummdry

+1

Buon approccio. Ma penso che la mia soluzione sia più semplice. Inoltre, l'integrazione con IDE (IntelliJ nel mio caso) si aspetta che "" colleghi ogni classe di funzioni passo <-> classe java. Provalo e buona fortuna – troig

+1

Grazie! Funziona, ma è più di una soluzione per una funzionalità mancante nel cetriolo .. – ccpizza

Problemi correlati