Есть ли способ нажать кнопку «Радио» радиокомпонента Blueprintjs при проведении автоматического теста с использованием CucumberJS и Selenium? - PullRequest
0 голосов
/ 28 марта 2019

Я делаю тестирование автоматизации с использованием CucumberJS с Selenium Webdriver.Я пытаюсь щелкнуть переключатель в форме, используя этот фрагмент кода:

try {
  let gender = driver.findElement(By.css("input[type=radio][value=Miss.]"))
  gender.click()
  driver.sleep(7000)
} catch (ex) {
  console.log(ex)
}

Это мой код React с использованием библиотеки Blueprint:

<RadioGroup>
                  <Radio id="radio-gender-1" label="Mr." value="Mr." checked={this.state.title === "Mr."} />
                  <Radio id="radio-gender-2" label="Miss." value="Miss." checked={this.state.title === "Miss."} />
</RadioGroup>

Но когда япри выполнении теста выдается сообщение об ошибке «UnhandledPromiseRejectionWarning: InvalidSelectorError: неверный селектор: указан недействительный или недопустимый селектор».Я могу заполнить текстовые поля в форме, но не могу щелкнуть переключатель.

Не могли бы вы помочь мне с этим?

1 Ответ

0 голосов
/ 28 марта 2019

Вы не помещали кавычки вокруг значений атрибутов в вашем селекторе CSS.Это должно быть

input[type='radio'][value='Miss.']

Но у вас есть идентификатор, поэтому я не уверен, почему вы его не используете

By.id("radio-gender-2")
...