我在一页的源代码中有这个:
<span class="price-length price-length--4">666</span>
我在另一页的源代码中有这个
<span class="price-length price-length--7">777</span>
我想获取666值,将其存储在某处,并与777进行比较。如何使用codeceptjs进行此操作?
我尝试了I.grabValueFrom('some_xpath_to_value')
,但我不了解如何重复使用它。如何查看I.grabValueFrom
函数在codeceptjs中返回的值?
答案 0 :(得分:2)
您可以使用生成器函数通过'yield'从函数返回值,如下所示:
Scenario('Yield', function* (I) {
let value = yield I.grabValueFrom(some_xpath_to_value);
let assert = require('assert');
assert.equal(value, '777');
});
答案 1 :(得分:0)
Codeceptjs中的所有函数都返回Promises,而不是值。
因此,要从I.grab...
函数中获取价值,您应该获得Promise结果。
您可以将Garret解决方案与yield
一起使用。
或相同,但具有async
/ await
(Codecept Node.js 8.9.1要求具有async
/ await
支持)
const assert = require('assert');
Scenario('async', async function(I) {
let value = await I.grabValueFrom(some_xpath_to_value);
assert.equal(value, '777');
});