我在点击按钮时遇到问题。我有多个场景,在每个场景中我应该点击这个按钮,当我点击这个按钮时,我会带我到另一个页面。当我多次运行测试时,此按钮随机失败。例如:我运行单元测试所有场景都工作但其中一个失败我重复测试所有场景成功但我有一个新的失败场景
此错误,因为该按钮未重定向到下一页
Message: Test method BnI.UITests.Register.CancelOfficialInfoTest threw exception:
OpenQA.Selenium.NoSuchElementException: Unable to locate element: (.//*[normalize-space(text()) and normalize-space(.)='Name:'])[1]/following::input[1]
我用来点击按钮的方法
new WebDriverWait(driver, TimeSpan.FromSeconds(time)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//button[contains(text(),'Proceed')]"))).Click();
HTML:
<div class="col-xs-12 no-padding-sides">
<div class="col-xs-8 col-xs-offset-4 no-padding-sides bottom-actions">
<button class="btn custom-btn custom-blue" type="submit">
Proceed
</button>
<button type="button" class="btn custom-btn custom-grey" (click)="cancelRegistration()"> Cancel </button>
</div>
根据您与click()
共享的html元素,文本为Proceed,您可以使用以下解决方案:
XPath
:
new WebDriverWait(driver, TimeSpan.FromSeconds(time)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//button[@class='btn custom-btn custom-blue'][normalize-space()='Proceed']"))).Click();