2014-05-05 40 views
0

我目前在Java和黃瓜方面有問題。通過使用Selenium訪問一個網站的元素,我想用短語,如下列:如何搭配黃瓜測試中的圓括號

Then the value of the attribute XYZ should be 1000 

這個例子是非常瑣碎和每個工作正常使用Java註釋

@Then("the value of the attribute (.*) should be (.*)") 

除了屬性名以下用例:屬性名稱包含像ABC(s)這樣的括號。

在使用Eclipse和JUnit時,使用包含括號的字符串的Cucumber測試甚至不能完全識別,而只是字符串在前括號之前的部分。任何想法或解決方案?

+0

什麼似乎是問題官員? http://regex101.com/r/iW3xS3 – sshashank124

+0

如果你想在你的正則表達式中使用特殊的符號,你是否適當地逃避它們?例如對於'('你需要寫''(' –

+0

)那麼,它肯定不是正則表達式本身引起的問題。黃瓜只是發現'然後屬性XYZ的值而不是'然後屬性的值XYZ s)應該是1000'當我運行JUnit-Test –

回答

1

無論屬性名稱是否包含任何括號。

當使用這種方法:

@Then("^the value of the attribute (.*) should be (.*)$") 
public void checkAttributeValue(String name, String value) 
     throws Throwable { 
    System.out.println("Name: " + name + " value: " + value); 
} 

而且

Then the value of the attribute XYZ(s) should be 1000 

我得到

Name: XYZ(s) value: 1000 

我想這是你所期望的。

+0

好吧,事實證明只有Eclipse的JUnit-View不能正確打印測試用例。案例 '那麼屬性XYZ(s)的值應該是1000' 以下是打印的: '然後是屬性XYZ'的值。 –