0
我已经看过类似的问题,但我没有得到我需要的帮助,我希望这不是一个重复...硒等待元素值加载
我想硒等硒等为特定的价值。 或等待一些JavaScript正在运行。
下面是一个例子: Page对象
class Converter
{
private IWebDriver _webDriver;
[FindsBy(How = How.Id, Using = "tabin")]
public IWebElement HexVaue { get; set; }
[FindsBy(How = How.Id, Using = "resulttxt")]
public IWebElement DecimalValue { get; set; }
[FindsBy(How = How.CssSelector, Using = "#content > form > input[type='button']")]
public IWebElement ConvertButton { get; set; }
public Converter(IWebDriver webDriver)
{
_webDriver = webDriver;
PageFactory.InitElements(_webDriver, this);
}
测试代码:
_driver = new FirefoxDriver();
_driver.Navigate().GoToUrl("http://www.binaryhexconverter.com/hex-to-decimal-converter");
_converter = new Converter(_driver);
_converter.HexVaue.SendKeys("100");
_converter.ConvertButton.Click();
var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(5));
// Assert.AreEqual("256", _converter.DecimalValue.GetAttribute("value")); // Fails
wait.Until(d => _converter.DecimalValue.GetAttribute("value").Equals("256"));
如果我做一个典型的NUnit断言没有这个wait.Until,则测试失败。这是我在Selenium中做这个断言的正确方法吗?
谢谢,Daryn