Селен: сохранить текст в переменную для дальнейшей проверки - PullRequest
0 голосов
/ 04 июня 2019

Использование Selenium в Visual Studio.

Мне нужна помощь в написании двух тестовых случаев.ОБНОВЛЕНО:

  1. Скопировать серийный номер из текстового поля и сохранить эти данные в переменной.

  2. Скопировать серийный номер из другоготекстовое поле и сохранить эти данные в другой переменной.А затем сравните переменную A с переменной B, чтобы убедиться, что они одинаковы.

Я хочу, чтобы эти тестовые случаи были динамическими, поэтому мне не нужно указывать фактический серийный номер.Вместо этого я хочу скопировать содержимое <h3> независимо от того, какой серийный номер они содержат.

HTML-код, в который я хочу скопировать серийный номер, выглядит следующим образом:

<lina-list-item _ngcontent-c34="" _nghost-c40="">
 <p _ngcontent-c34="">Serienummer</p>
 <h3 _ngcontent-c34="">Calpower11<!----></h3>
</lina-list-item>

Я хочу скопировать данные из <h3> в переменную A.

Это полный Xpath для этого конкретного <h3>:

/html/body/div[3]/div[2]/div/mat-dialog-container/lina-device-details-dialog/div/mat-tab-group/div/mat-tab-body[1]/div/div/div[2]/lina-device-information/div[1]/div[1]/lina-list-wrapper/div/lina-list-item[1]/h3

Затем я хочу скопировать данные из другого <h3> в переменную B

Это полный Xpath для этого конкретного <h3>:

/html/body/div[3]/div[2]/div/mat-dialog-container/lina-register-case-dialog/form/div/div/div[1]/div/lina-device-information-compact/div/div[2]/div[1]/lina-list-wrapper/div/lina-list-item[1]/h3

HTML для второго <h3>:

<lina-list-item _ngcontent-c49="" _nghost-c40="">
 <p _ngcontent-c49="">Serienummer</p>
 <h3 _ngcontent-c49="">Calpower11</h3>
</lina-list-item>

Как вы можете видеть, HTML не показываетне сильно отличаетсяТолько взглянув на полный Xpath, вы сможете заметить разницу.

Примечание: все тестовые случаи называются "public void TestCaseName()", поэтому я надеюсь, что это сделает переменную, которую я создаю, доступной во всех других тестовых случаях?

Резюме:

  1. Помогите мне скопировать текст из одного <h3> в переменную A
  2. Помогите мне скопировать текст из другого <h3> в переменную B
  3. Помогите сравнитьпеременные A и B, чтобы убедиться, что они содержат одинаковые данные.

Весь HTML

1 Ответ

0 голосов
/ 04 июня 2019

Вы можете сохранить текстовое значение или значение атрибута следующим образом.

IWebElement element = driver.FindElement(By.Xpath("//lina-list-item[1]/h3[contains(text(),'Calpower11')]"));
String serialNumber = element.Text;

ИЛИ

IWebElement element = driver.FindElement(By.Xpath("//lina-list-item[1]/h3[contains(text(),'Calpower11')]"));
String serialNumber = element.GetAttribute("innerHtml");

Затем сравните серийный номер следующим образом.

if (serialNumber.Equals("Calpower11", StringComparison.InvariantCultureIgnoreCase)) 
{ 
    //statement
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...