Как различить 2 HTML-класса с одинаковыми именами при тестировании с помощью Selenium - PullRequest
0 голосов
/ 13 мая 2019

Я занимаюсь тестированием одной веб-страницы в качестве школьного проекта. Я перемещаюсь по веб-сайту, проверяю функциональность и хочу выбрать работу в разделе вакансий и подать заявку на эту вакансию, заполнив форму. На данный момент есть две должности, и они находятся под одноименными классами. Я могу открыть первое из двух заданий, но не знаю, как перейти ко второму, так как их имена совпадают, поэтому мой тест Selenium Web Driver всегда открывает первое, а мне нужно второе. Я работаю в Selenium Web Driver, c #.

<h4 class="job-section-title">Development / Belgrade</h4>
<div class="job-section">

<div class="job">
<h3>Software engineer</h3>
<div class="job-description">


<div class="job">
<h3 class="">Test engineer</h3>
<div class="job-description">

Я попытался получить вторую работу с помощью этой функции: // var selectElement = new SelectElement (driver.FindElement (By.ClassName ("Job")));

//selectElement.SelectByText("Test engineer");

Не сработало. Надеюсь, что вся необходимая информация предоставлена. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

В конце я понял, что нет необходимости дифференцировать HTML-классы так, как я хотел. Selenium - это то, что также использует CSS и XPath, которые делают эту работу. Поэтому я просто скопировал xpath (или селектор CSS) и добавил его в свой код следующим образом: driver.FindElement (By.Xpath (ссылка xpath)) driver.FindElement (By.CssSelector (ссылка селектора))

спасибо всем за помощь:)

0 голосов
/ 13 мая 2019

Попробуйте следующий xpath, чтобы щелкнуть по элементу.

driver.FindElement(By.XPath("//div[@class='Job']/h3[contains(.,'Test engineer')]")).Click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...