首页 > 解决方案 > 本地化 selenium 框架

问题描述

我正在开发应用程序支持多语言(英语除外)的项目,比如说德语、西班牙语、法语等

所以我想设计 TestNG+Page 对象模型 Selenium 框架,以便它可以支持多语言。

框架应该具有选择语言的功能,基于选择的 UI 语言应该得到改变。

例如 :

在英文界面中,有保存按钮,我们要点击,然后我们可以编写如下代码: //button[contains(text(),'Save')]

但是一旦我们改变(法语)语言然后 //button[contains(text(),'Enregistrer')]

有人可以帮我建立框架吗?

标签: seleniumautomationlocalizationframeworkstestng

解决方案


好吧。有可能的。尽管您无法在运行时评估注释,但您仍然可以中断处理注释值时发生的逻辑。

你需要做的是:

  1. 创建将通过自定义实现处理的自定义注释AbstractFindByBuilder
  2. 实现该扩展AbstractFindByBuilder将识别定位器中的参数并用值替换它们

听起来很简单,但仍然需要一定程度的编码。在这里您可以看到为 Selenium 页面对象参数化FindBy注释的示例。


推荐阅读