Xpath 以验证开头,以验证结束



我在MTM中做自动化。

用户界面:

低至: $12,983.30 $108.19 120 5.43%

  1. 我需要验证数字 12,983.30 以 $ 开头
  2. 我需要验证数字 5.43 以 % 结尾

法典: 第一次测试

所以我能够验证元素 $12,983.30 存在并且具有 $:

"xpath" "//*[+id='-student-loan-finder-form']/div/div[17]/div[2]/div[2]/div[2][text()[contains(., '$')]]" "Total Cost has $" "true" 

但是我没有成功验证该数字以$开头:

"xpath" "//*[+id='-student-loan-finder-form']/div/div[17]/div[2]/div[2]/div[2][text()[starts-with(., '$')]]" "Total Cost starts with $" "true"

我做错了什么?

$ 不是第一个字符。您正在拉动以"总成本:..."开头的 DIV。所以"T"是第一个字符,这就是考虑starts-with()时进行比较的内容。

有很多方法可以做到这一点。可能最简单的方法是将返回的文本拆分为":",然后Trim()并查看第二部分。

给定您发布的 HTML

<div class="col-md-2 col-sm-12 totalCostLow">
<span class="mobile-label">Total Cost: </span>
$12,983.30
</div>

从外部DIV获取文本将返回类似以下内容(空格可能不同(

"Total Cost:  $12,983.30 "

您可以使用":"拆分该字符串

"Total Cost", "  $12,983.30 "

抓住第二根弦并Trim()

"$12,983.30"

然后确保第一个字符是"$">

该代码看起来像

string priceString = <get the price string>; // e.g. "Total Cost:  $12,983.30 "
string price = priceString .Split(':')[1].Trim();

现在,您可以验证price是否以"$"开头。

最新更新