我写了一个黄瓜功能导航到一个网站,搜索一些手机&验证结果集中的电话价格。但是,断言失败并显示以下错误消息:
java.lang.AssertionError: Price is incorrect expected: < ?508.00> but was:<£508.00>
你能帮我解决一下吗?
我正在使用以下库:
junit-4.11
cucumber-core-1.1.5
cucumber-html-0.2.3
cucumber-java-1.1.5
cucumber-junit-1.1.5
cucumber-jvm-deps-1.0.3
gherkin-2.12.1
hamcrest-all-1.3
selenium-server-standalone-2.43.1
功能文件:
Feature: ****
phone search and price check feature
Scenario:
Given I am on ****** site
When I search for an iPhone
Then I should see the results showing phones at correct prices
| Results | Price |
| record1 | £508.00 |
| record2 | £415.00 |
| record3 | £364.99 |
| record4 | £418.00 |
| record5 | £421.00 |
从StepDefinition文件中提取:
.......
@Then("^I should see the results showing phones at correct prices$")
public void validateTheResults(DataTable table) throws Throwable {
List<List<String>> data = table.raw();
price = driver.findElement(By.xpath("//li[@id='result_0']/div/div/div/div[2]/div[2]/div[1]/div[1]/a/span")).getText();
System.out.print("Price1 = " +price);
assertEquals("Price is incorrect",data.get(1).get(1),price);
.........
答案 0 :(得分:1)
您可能会遇到字符集不匹配的问题。 Cucumber troubleshooting guide注意到要采取的几个步骤。以下两个可能与您的情况最相关:
.feature
文件已保存为UTF-8 require 'cucumber/formatter/unicode'
添加到您的env.rb
文件