разъяснение пути в приложении Salesforce - PullRequest
0 голосов
/ 11 октября 2019

Создайте сценарий автоматического тестирования для приложения Salesforce, используя Selenium Webdriver с Java. У меня есть некоторые разъяснения в моем XPath. Ниже приведен HTML-код для приложения salesforce [Режим молнии]

<div one-appnavbarmenubutton_appnavbarmenubutton="" class="menuItemsWrapper" style="" xpath="1">
<slot one-appnavbarmenubutton_appnavbarmenubutton="">
<one-app-nav-bar-menu-item one-appnavbaritemdropdown_appnavbaritemdropdown="" class="slds-dropdown__item" one-appnavbarmenuitem_appnavbarmenuitem-host="">
<span one-appnavbarmenuitem_appnavbarmenuitem="" class="slds-truncate">
<span one-appnavbarmenuitem_appnavbarmenuitem="">Tech Path
</span>
</span>
</one-app-nav-bar-menu-item>
<one-app-nav-bar-menu-item one-appnavbaritemdropdown_appnavbaritemdropdown="" class="slds-dropdown__item" one-appnavbarmenuitem_appnavbarmenuitem-host="">
<span one-appnavbarmenuitem_appnavbarmenuitem="" class="slds-truncate">
<span one-appnavbarmenuitem_appnavbarmenuitem="">Keyword
</span>
</span>
</one-app-nav-bar-menu-item>
<one-app-nav-bar-menu-item one-appnavbaritemdropdown_appnavbaritemdropdown="" class="slds-dropdown__item" one-appnavbarmenuitem_appnavbarmenuitem-host="">
<span one-appnavbarmenuitem_appnavbarmenuitem="" class="slds-truncate">
<span one-appnavbarmenuitem_appnavbarmenuitem="">Invention Disclosures by Hierarchy
</span>
</span>
</one-app-nav-bar-menu-item>
</slot>
</div>

Из приведенного выше я хочу получить общее количество тегов <one-app-nav-bar-menu-item>

ниже приведен мой тестовый скрипт

WebElement menuCount = driver.findElement(By.xpath("//div[@class='menuItemsWrapper']//slot"))
List<WebElement>menuItemCount = menuCount.findElements(By.tagName("one-app-nav-bar-menu-item"))

При выполнении я получаю menuITemCount =0

Дайте мне знать, есть ли проблема в моем скрипте

Среда: драйвер хрома

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Попробуйте настроить на By.xpath("//one-app-nav-bar-menu-item")

0 голосов
/ 11 октября 2019

Для обработки динамического элемента вызовите WebDriverWait.

WebDriverWait wait = new WebDriverWait(driver, 20);         
WebElement menuCount=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='menuItemsWrapper']//slot")));
List<WebElement>menuItemCount = menuCount.findElements(By.xpath(".//one-app-nav-bar-menu-item"));
System.out.println(menuItemCount.size());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...