У меня есть локализованная страница, а веб-элемент «Создать учетную запись» может быть на английском, китайском или японском языках. Я использую платформу Selenium, Java и TestNG для запуска теста, чтобы щелкнуть этот элемент. Однако низкая производительность при использовании этого @FindAll для идентификации страницы заставляет меня задаться вопросом, есть ли лучший способ сделать это.
Элемент из Inspect element, когда выбрана локаль "English":
<div class="form-group">
<a translate="create-account" class="pointer ng-scope" ng-click="vm.createAccount()">Create Account</a>
</div>
Моя декларация FindAll:
@FindAll({
@FindBy(linkText="Create Account"),
@FindBy(linkText="创建账号"),
@FindBy(linkText="アカウントを作成")
})
private List<WebElement> createAccount;
В качестве основы для сравнения, если я использую @FindAll выше, требуется около 15 секунд, прежде чем Webdriver щелкнет ссылку. Если я использую только @FindBy, это занимает около 2-3 секунд. Однако @FindBy у меня не работает, так как мне нужно найти правильную локаль, чтобы щелкнуть ссылку.