1

我是测试新手,并且有一个关于我们如何使用 Selenium 验证本地语言的问题。假设我有一些链接可以让我选择语言,那么如果我选择一种语言,我该如何验证呢?

4

4 回答 4

0

嗯,你可以

  • 在页面上搜索该语言的标志
  • 检查数字格式或时间格式(在某些语言环境中会发生变化)
  • 验证某些众所周知的文本(如问候语)是否已更改。说,从Good eveningDobrý večer(那是捷克语;))
于 2012-04-05T21:07:32.123 回答
0

通过页面上的任何内容!假设我们的页面仅由一个元素组成,或者

<div>
    It's time to kick ass and chew bubble gum!
</div>

或者

<div>
    Il est temps de botter le cul et mâcher de la gomme à bulles!
</div>

然后,使用 Selenium,您可以获取元素,获取内部文本并进行验证!Java 中的示例:

// assuming driver is a good WebDriver instance
WebElement elem = driver.findElement(By.xpath("//div"));
if (elem.getText().contains("kick ass")) {
    System.out.println("It's English!");
} else if (elem.getText().contains("botter le cul")) {
    System.out.println("It's French!");
}

从 Java 7 开始,您甚至可以在 String 上使用 switch-case,因此您可以针对很多很多语言进行消化测试。

于 2012-04-05T21:10:16.327 回答
0

我们使用 l10n 的字典文件。Dictionary 是一个 xml 文件,其中的字符串存储为<string key="Cancel">Cancel</string>. 因此,出于测试目的,我们将 all 替换</string>为类似的内容,并将@@@</string>所有空格替换为 '_'(可以在 notepad++ 中使用 ctrl+h 完成,例如,可以借助此答案替换空格)。然后我们在我们的网站上选择与修改过的字典相对应的语言。下一步由 Selenium IDE 脚本完成:浏览整个网站并使用 Selenium IDE 命令存储页面文本。然后解析并回显所有不以@@@结尾的单词并分析是否可以或应该翻译的单词是硬编码的。<string key="..."></string>storeBodyText | text

不是纯粹的自动化,但总比没有好:) 我认为这种方法不仅可以应用于 xml 字典文件,还可以应用于您用于字符串的任何存储。

PS。如果您不想执行本地化测试,但只想确保通过单击链接应用了某种语言(恐怕这正是您要查找的内容),单击链接后,您可以获得文本来自任何元素并将其与预期文本(storeText(locator, variableName)对于 IDE)进行比较。

于 2012-04-05T22:56:00.223 回答
-1
<!-- Using Selenium IDE -->
<tr>
<td>storeAttribute</td>
    <td>//html@lang</td>
    <td>language</td>
</tr>
<tr>
    <td>echo</td>
    <td>The label is ${language}</td>
    <td></td>
</tr>
于 2016-06-10T11:03:19.530 回答