我在MTM做自动化。
UI:
低至:$ 12,983.30 $ 108.19 120 5.43%
代码: for 1st test
所以我能够验证元素$ 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"
我做错了什么?
答案 0 :(得分:0)
$不是第一个字符。您正在拉动以“总成本:...”开头的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
以“$”开头。