首页 > 解决方案 > 如何在 Selenium c# 中断言分配给 ElementId 的值?

问题描述

这应该很容易,但不知何故我无法让它像我希望的那样工作。我正在尝试从下面的代码中断言Account 值,该代码确实分配了 ElementId。

我的目标是验证Account 值是否大于零(或者也可以这样做!= 零)

我很困惑是使用GetAttribute还是应该从 ElementId 中提取文本?

<div class="col-md-6 col-sm-12 w-create-account">
<label class="w-label">Value</label>
<h2 id="account-value">$1,00,000</h2>
</div>

我在 NUnit 上使用 Selenium(C#)。任何帮助表示赞赏..!!

标签: c#.netseleniumselenium-webdriverassertions

解决方案


您可以执行类似于以下的操作:

public static decimal ConvertToNumber(string str)
{
    return decimal.Parse(str, NumberStyles.Currency);
}


[Test]
public void TestAccountValue()
{

    Assert.IsTrue(ConvertToNumber(driver.FindElement(By.XPath("//div[contains(@class, 'w-create-account']/h2")).Text) > 0, "Account value is not greater than zero.");

}

让我知道,如果您有任何进一步的疑问。


推荐阅读