从 span 中抓取文本,然后使用 CodeceptJS 进行比较
Grab text from span and then compare it using 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')
,但我不明白如何重用它。如何在 codeceptjs 中查看 I.grabValueFrom
函数 returns 的值?
您可以使用生成器函数通过 'yield' 从函数中 return 值,如下所示:
Scenario('Yield', function* (I) {
let value = yield I.grabValueFrom(some_xpath_to_value);
let assert = require('assert');
assert.equal(value, '777');
});
Codeceptjs 中的所有函数 return 承诺,而不是值。
因此,要从 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');
});
使用控制台查看抓取方式:
import assert from "assert";
Scenario("Example", async ({ I }) => {
const firstValue = await I.grabValueFrom("some_xpath_to_value");
console.log(firstValue);
const secondValue = await I.grabValueFrom("some_xpath_to_value");
console.log(secondValue);
assert.ok(firstValue == secondValue, `Values don't match`);
});
我在一页的源代码中有这个:
<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')
,但我不明白如何重用它。如何在 codeceptjs 中查看 I.grabValueFrom
函数 returns 的值?
您可以使用生成器函数通过 'yield' 从函数中 return 值,如下所示:
Scenario('Yield', function* (I) {
let value = yield I.grabValueFrom(some_xpath_to_value);
let assert = require('assert');
assert.equal(value, '777');
});
Codeceptjs 中的所有函数 return 承诺,而不是值。
因此,要从 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');
});
使用控制台查看抓取方式:
import assert from "assert";
Scenario("Example", async ({ I }) => {
const firstValue = await I.grabValueFrom("some_xpath_to_value");
console.log(firstValue);
const secondValue = await I.grabValueFrom("some_xpath_to_value");
console.log(secondValue);
assert.ok(firstValue == secondValue, `Values don't match`);
});