从span获取文本,然后使用CodeceptJS进行比较

时间:2017-10-19 15:18:53

标签: variables codeceptjs

我在一页的源代码中有这个:

<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中返回的值?

2 个答案:

答案 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');
});