selenium - 本地化 selenium 框架
问题描述
我正在开发应用程序支持多语言(英语除外)的项目,比如说德语、西班牙语、法语等
所以我想设计 TestNG+Page 对象模型 Selenium 框架,以便它可以支持多语言。
框架应该具有选择语言的功能,基于选择的 UI 语言应该得到改变。
例如 :
在英文界面中,有保存按钮,我们要点击,然后我们可以编写如下代码: //button[contains(text(),'Save')]
但是一旦我们改变(法语)语言然后 //button[contains(text(),'Enregistrer')]
有人可以帮我建立框架吗?
解决方案
好吧。有可能的。尽管您无法在运行时评估注释,但您仍然可以中断处理注释值时发生的逻辑。
你需要做的是:
- 创建将通过自定义实现处理的自定义注释
AbstractFindByBuilder
- 实现该扩展
AbstractFindByBuilder
将识别定位器中的参数并用值替换它们
听起来很简单,但仍然需要一定程度的编码。在这里您可以看到为 Selenium 页面对象参数化FindBy
注释的示例。
推荐阅读
- html - 禁用角度形式的输入
- node.js - 如果在数据集末尾,请检查 nextPage 是否不起作用
- php - 备份文件重复,名称相同
- angular - 如何使用花括号在 Angular 中导入 openlayers 模块
- sql - 使用连接后如何连接具有不同 WHERE 条件的表
- symfony - Symfony 3.4 - 在我的模式中传递变量?
- jenkins - 在 Jenkins Pipeline 上生成 JUnit 报告时出现问题
- c - 如何修复保存矩阵到链表
- django - Django 在发出 POST 请求时在表单集中有多个表单时抛出错误
- git - Git保持相同的提交但恢复文件