2016-03-31 7 views
0
Scenario Outline: verify handling "#" in code 
Given user logs in to url "<url>" 
When User enters Username "<UserName>" in username field 
And User enters Password "<password>" in Password field 
Then user should be logged in as <"screenName"> 

Examples: 
|username|password|screenName| 
|user |pwd# |User 1| 

In obigen Szenario möchte ich das Passwort "PWD #" als Parameter übergeben.Wie behandelt man # in Gurke Gurke Sprache als Wert und nicht zu kommentieren

Wie gehe ich damit um, indem ich sicherstelle, dass # nicht behandelt wird, um den verbleibenden Teil der Zeile zu kommentieren.

Bitte helfen Sie mir.

Antwort

1

Ich fügte einen Backslash hinzu und es schien OK. Der Editor mochte es nicht, aber es lief.

Given I have a \#2 web services 

Schritt sah aus wie:

Given(/^I have a \\\#(\d+) web services$/) do |num| 
    expect(num).to eq(num.to_i.to_s) 
end 

Ausgang ausgesehen:

@pound 
    Scenario: client rest GET 
    Given I have a \#2 web services 

1 scenario (1 passed) 
1 step (1 passed) 
0m0.005s 

BTW, habe ich nur die \ # in dem Schritt mit dann cuke lief zu beginnen. Ich erzählte mir, was die Step Def-Charaktere sein mussten. Es ist ein guter Freund, wenn du weißt, was ich meine.

+0

Danke Dave, für Ihre Antwort. – Vinmee

+0

Ich habe gerade festgestellt, dass, wenn Sie den Parameter für das Passwort als "pwd #" eingeben, der verbleibende Teil der Zeile so aussieht, als wäre er auskommentiert. Wenn Sie das Feature ausführen, wird jedoch auch der kommentierte Teil ausgeführt (z. B. screenName = Benutzer 1). Also, ich bin jetzt gut. – Vinmee