是否可以使用Testcafé访问网站上定义的AF功能?

时间:2019-12-05 15:55:19

标签: javascript node.js testing automated-tests testcafe

让我们说“ mywebsite.com”具有全局功能:

function sayHello(message){
console.log(message)
}

是否可以在nodejs中使用testcafé运行该功能的测试?

到目前为止,我有这个

import { Selector } from 'testcafe';

fixture `mywebsite test`
    .page `http://mywebsite.com`;

test('sayHelloFuncTest', async t => {

    sayHello('HELLO!')

});

这会给我一个错误: ReferenceError:sayHello未定义

那么有没有办法访问sayHello()函数?

1 个答案:

答案 0 :(得分:2)

您可以使用ClientFunction在浏览器中执行一些脚本。

例如:

import { Selector, ClientFunction } from 'testcafe';

fixture `Fixture`
    .page `example.com`;

test('Test', async t => {
    const callSayHello = ClientFunction(() => { sayHello('HELLO!'); });

    await callSayHello();
});

await t.eval(() => { sayHello('HELLO!'); });