如何使用Selenium在UI中验证本地语言

时间:2012-04-05 17:21:54

标签: selenium automation

我是测试的新手,对于如何使用Selenium验证本地语言有疑问。假设我有一些链接可以让我选择语言,所以如果我选择一种语言,我该如何验证呢?

4 个答案:

答案 0 :(得分:0)

嗯,你可以

  • 在页面上搜索该语言的标志
  • 检查号码格式或时间格式(在某些区域设置中确实有所改变)
  • 验证一些众所周知的文字(如问候语)已更改。比如说,从Good eveningDobrý večer(捷克语中的那个;))

答案 1 :(得分: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,这样你就可以对许多语言进行消化测试。

答案 2 :(得分:0)

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

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

PS。如果您不想进行本地化测试,但只是想确保通过点击链接应用某些语言(我担心这正是您所需要的),请在点击链接后您可以从任何元素中获取文本,并将其与预期文本(IDE的storeText(locator, variableName))进行比较。

答案 3 :(得分:-1)

FirebaseOptions options = new FirebaseOptions.Builder()
    .setServiceAccount(new FileInputStream("/src/serviceAccountCredentials.json"))
    .setDatabaseUrl("https://databaseName.firebaseio.com/")
    .build();