我正在寻找一种比较赛普拉斯中表行状态变化的更好方法。
我正在测试一个加密货币交换网站。我需要比较交易后买卖双方的硬币余额。每个用户在表格的页面上显示的余额如下:
Symbol | Coin Name | Total Balance | On order | Available Balance
________________________________________________________________________
BT | BitCoin | 2.00000000 | 0 | 1.00000000
________________________________________________________________________
ETH | Ethereum | 2.00000000 | 1.00000000 | 1.00000000
________________________________________________________________________
DASH | DASH | 1.00000000 | 0 | 1.00000000
所有值都位于td标签中的跨度中。
因此,在交易之前,我需要记录两个硬币的余额,并在交易之后检查结果总余额是否正确。
我知道将这些值放在一行中并将它们存储到一个对象中,我需要使用类似以下内容的方法:
cy.get(‘@tableAlias’).find(‘tbody tr:nth-child(1) td:first-child > span).invoke(‘text’).then(symbol => {
cy.get(‘@tableAlias’).find(‘tbody tr::nth-child(1) td:nth-child(3) > span).invoke(‘text’).then(balance => {
let initBalance = {}
initBalance[symbol] = balance
})
})
但是,我必须同时比较卖方和买方,并且每次我必须获得前后两个交易的交易品种和余额值来计算差额。现在看来,有些测试将嵌套8级深度!
有更好的方法吗?