В настоящее время я выполняю автоматическое тестирование веб-приложения с использованием селена java. Для поиска элементов Iam с использованием относительных путей xpath. Я сталкиваюсь с проблемой регулярно, когда я получаю новую сборку, мои значения div xpath меняются. Пример:
Сборка 1:
//*[@id='container']/div/div/div/div/div[5]/div/ul/li[1]/div/ul/li[13]/button
Сборка 2:
//*[@id='container']/div/div/div/div/div[6]/div/ul/li[1]/div/ul/li[13]/button
Как мы можем заставить этот xpath работать для каждой сборки? Даже мы используем этот xpath для циклов for.
for (int i = 1; i <= 4; i++) {
com.click("xpath","/html[1]/body[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[4]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div[2]/ul[1]/li[1]/div[2]/div[1]/ul[1]/li["+ i + "]/div[1]/span[2]/div[1]");
}
Есть ли какое-либо решение для преодоления этой проблемы?
HTML Код:
<div id="container" xpath="1"><div><div class="ice-theme-provider light-theme css-aw120u e9snama0" data-automation-active-theme-name="light"><div tabindex="-1"><div class="css-1enaoom" data-automation-id="console" data-console-id="0" role="presentation"><div data-automation-id="application-menu-bar" class="css-1f2kwet"><ul class="css-qq4041" data-automation-id="system-menu"><li class="css-1tx6twl"><button type="button" class="ice-button css-5nd6tx e66scw10">File</button></li><li class="css-1tx6twl"><button type="button" class="ice-button css-5nd6tx e66scw10">Preferences</button></li><li class="css-1tx6twl"><button type="button" class="ice-button css-5nd6tx e66scw10">Connect Utils</button></li><li class="css-1tx6twl"><button type="button" class="ice-button css-5nd6tx e66scw10">Help</button></li></ul><span class="css-132uuf9"></span><button title="Tab Sorting: Manual (unsorted)" type="button" class="ice-button css-151om0c e66scw10">MANUAL</button><button title="click to unlock the layout"
<button aria-disabled="false" role="menuitem" tabindex="-1" type="button" class="ice-button e12espz23 css-1gkebzc e66scw10" style="" xpath="1"><span>Mark Field<span width="square" class="ice-icon ice-icon-caret-right css-19ah4i1 e5j0fb80"><svg viewBox="576 0 576 1792"><path d="M1152 896q0 26-19 45l-448 448q-19 19-45 19t-45-19-19-45v-896q0-26 19-45t45-19 45 19l448 448q19 19 19 45z"></path></svg></span></span></button>