我必须单击html
中不可见的按钮。我尝试使用客户端功能,但是元素
import { Selector,ClientFunction } from 'testcafe';
fixture('Clicking Invisible link').page('http://example.com');
test('Click on invisible link', async t => {
const viewProgram = Selector('tbody [viewBox]').nth(0);
const clickViewProgram = ClientFunction(() => viewProgram().click());
await clickViewProgram();
});
我得到的错误是:
ClientFunction代码中发生错误:ReferenceError:viewProgram 未定义
请帮助我解决此问题
答案 0 :(得分:4)
客户端函数无法访问测试代码(请参阅Client functions limitations)在外部范围中定义的变量,因此您需要将viewProgram
选择器作为dependency传递:
const clickViewProgram = ClientFunction(() => viewProgram().click(), {
dependencies: { viewProgram }
});
答案 1 :(得分:2)
您是否尝试过简单:
等待t.click('tbody [viewBox]'); ?