Я тестирую веб-страницу, содержащую таблицу. Вы можете щелкнуть ссылку «Создать новую», чтобы добавить записи в сетку. После нажатия кнопки «Создать новый» появляется диалоговое окно с некоторыми текстовыми полями, другой сеткой и кнопкой «Отмена» и «Сохранить». Затем вы можете щелкнуть ссылку, чтобы добавить запись в сетку диалога, в результате чего появляется другое диалоговое окно с текстовыми полями и кнопка «Отмена и сохранение». На моем классе уровня тестирования я в данный момент нажимаю на эти кнопки, а затем жду открытия или закрытия диалогового окна. Мне нужно сформулировать общий метод, который включает как щелчок, так и ожидание для каждой кнопки. Поэтому вместо двух строк кода на моем тестовом уровне, чтобы щелкнуть элемент и ждать окна, у меня будет одна строка кода, которая обрабатывает это. Ниже моя дилемма:Если условие оператора, где элемент равно элементу
Мне нужно, чтобы иметь возможность применить If
условие, при котором сдавший параметр IWebElement
приравнивает определенный IWebElement
, но он не позволяет мне сделать это. Заявление if
не находит соответствия по какой-либо причине, поэтому код внутри оператора if
никогда не будет достигнут. Я что-то упускаю? Если нет, есть ли обходной путь?
ПРИМЕЧАНИЕ: Использование button.text == SaveOrganizationBtn.Text
обходной путь, но потерпит неудачу в моем конкретном случае, поскольку некоторые из этих кнопок не может быть загружен в HTML для определенного теста (т.е. форма не была вызвана), поэтому if
утверждение не выполняется. Он никогда не сможет захватить свойство Text
, потому что он не может найти элемент в первую очередь.
Пример кода:
ClickButton(SaveNetworkBtn);
public void ClickButton(IWebElement button)
{
if (button == SaveOrganizationBtn)
{
SaveOrganizationBtn.Click();
WaitForOrganizationFormToClose();
}
if (button == SaveNetworkBtn)
{
SaveNetworkBtn.Click();
WaitForNetworkFormToClose();
}
Вы должны проверить равенство между этим значением атрибута вместо строки. –
Я видел, что вы опубликовали ответ, но похоже, что есть лучший способ сделать это. Можете ли вы опубликовать HTML-код двух кнопок и немного описать сценарий? Есть ли какая-то причина, по которой вы не можете просто определить, какая кнопка доступна, и щелкнуть ее, а не сравнить ее с кнопкой, в которую вы вошли? – JeffC
Я обновил исходное сообщение, чтобы включить подробные сведения о приложении. Да, есть причина, по которой я не могу этого сделать, потому что несколько кнопок могут быть «доступны» одновременно. Как пользователь, я хочу, чтобы указать, какую кнопку я нажимаю, из тех, которые доступны –