检查是否显示带重音的单词

Checking if words with an accent was displayed

在自动化测试中,我需要知道如何检查是否显示了带重音的单词。我执行了如下自动化测试:

file.feature

# encoding: utf-8

Feature: Cálculo de triângulo

Scenario: Calculando um triângulo equilátero
    Given que estou na tela do TrianguloApp
    When eu preencher o campo Lado 1 com "3"
        And eu preencher o campo Lado 2 com "3"
        And eu preencher o campo Lado 3 com "3"
        And eu clicar em Calcular
    Then a mensagem "O triângulo é Equilátero" será exibida 

file_steps.rb

Given(/^que estou na tela do TrianguloApp$/) do
    element_exists("* text:'TrianguloApp'")
end

When(/^eu preencher o campo Lado 1 com "(.*?)"$/) do |lado1|
      enter_text "* id:'txtLado1'", "#{lado1}"
end

When(/^eu preencher o campo Lado 2 com "(.*?)"$/) do |lado2|
      enter_text "* id:'txtLado2'", "#{lado2}"
end

When(/^eu preencher o campo Lado 3 com "(.*?)"$/) do |lado3|
      enter_text "* id:'txtLado3'", "#{lado3}"
end

When(/^eu clicar em Calcular$/) do
      touch("* id:'btnCalcular'")
end

Then(/^a mensagem "(.*?)" será exibida$/) do |mensagem|
     element_exists("* O triângulo é Equilátero")
end

结果如下图

发生错误是因为试图验证短语 O triângulo é Equilátero 是否显示在屏幕上。

嗯,您的陈述缺少正文:

element_exists("* text:'O triângulo é Equilátero'")

这可能是您完成此工作所需的全部内容,但是如果您的问题是重音,那么您可以先通过不同的标识符找到该元素,然后检查文本。

the_text = query("* id:some_id", "text")

expect(the_text).to eql 'O triângulo é Equilátero'

预期来自rspechttps://github.com/rspec/rspec-expectations

我能够验证文本 O triângulo é Equilátero

我将命令 element_exists 更改为 macro %Q|I should see "#{text}"|

看看它是如何得到的:

Entao(/^a mensagem "(.*?)" será exibida$/) do |mensagem| macro %Q|I should see "#{mensagem}"| end

来源:http://testmunk.readthedocs.io/en/latest/steps.html