我正在使用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)
}
这是我使用Blueprint库的React代码:
<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:invalid selector:指定了无效或非法的选择器”。我可以填写表单中的文本框,但无法单击单选按钮。
你能帮我解决这个问题吗?
您没有在CSS选择器中的属性值周围加引号。它应该是
input[type='radio'][value='Miss.']
但是你有一个ID,所以我不确定你为什么不使用它
By.id("radio-gender-2")