c# - 如何在 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#)。任何帮助表示赞赏..!!
解决方案
您可以执行类似于以下的操作:
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.");
}
让我知道,如果您有任何进一步的疑问。
推荐阅读
- google-earth-engine - 将图像从 Google 地球引擎导出到 ArcMap 后出现额外的黑色区域
- python - 在破折号中单击按钮时运行python脚本
- android - 房间数据库 ID = null
- python - 您如何在约束中使用具有除法和乘法的纸浆?
- javascript - 如何将多个数据数组分组为 1 个数组
- android-recyclerview - 仅在加载时显示所有 recyclerview 内容(AsyncTask)
- css - 禁用表单时将类应用于表单元素Angular - Ionic
- google-apps-script - GmailApp.createDraft() 函数每日配额?
- java - PrintWriter 没有将所有数据打印到我的新文本文件中
- python - PyQt5 QtableWidget 在单元格单击时更新行(mac)