2014-11-08 5 views
0

Я написал одну функцию огурца, которая перемещается на сайт, ищет некоторые телефоны. & проверяет цену телефонов из результирующего набора. Однако утверждение не выполняется со следующим сообщением об ошибке:cucumber-Junit Assertion не удается - он не может утверждать '£' sybmol

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); 
    ......... 

ответ

1

Вполне возможно, что вы получаете характер установленное несоответствие. Cucumber troubleshooting guide отмечает несколько шагов. Вот два, которые могут быть наиболее актуальны для вашей ситуации:

  1. Убедитесь, что ваш файл .feature сохраняется как UTF-8
  2. Добавить require 'cucumber/formatter/unicode' в файл env.rb
Смежные вопросы