我是测试的新手,对于如何使用Selenium验证本地语言有疑问。假设我有一些链接可以让我选择语言,所以如果我选择一种语言,我该如何验证呢?
答案 0 :(得分:0)
嗯,你可以
Good evening
到Dobrý 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();