单击时,TestCafe保留数据

时间:2019-05-30 13:25:37

标签: javascript testcafe

在TestCafe中,单击锚标记后,我将重定向到新页面,并且发生了一个基本上将click事件记录到对象的事件。

我想在TestCafe中测试对象中click事件的值,但是因为发生重定向,所以我丢失了该对象。

我可以手动执行此操作,因为在单击链接时可以按住library(dplyr) library(prophet) library(tidyr) library(purrr) df <- data_frame(ds = seq(as.Date("2017/01/01"), as.Date("2019/01/01"), "month"), a = rnorm(n = 25, mean = 100000, sd = 7500), b = rnorm(n = 25, mean = 100000, sd = 7500), c = rnorm(n = 25, mean = 100000, sd = 7500)) d1 <- df %>% gather(key = "prod", value = "y", a:c) %>% nest(-prod) %>% mutate(m = map(data, prophet)) %>% mutate(future = map(m, make_future_dataframe, period = 12, freq = "month")) %>% mutate(forecast = map2(m, future, predict)) %>% mutate(p = map2(m, forecast, plot)) 并为重定向页面打开一个新窗口,但是将原始页面保留在原始窗口中,然后在其中查看对象控制台。

试图找出是否有一种“模拟”点击的方法,但没有进行重定向。或者,是否可以在点击之后但在重定向之前立即以某种方式断言?

迷你示例:

shift

1 个答案:

答案 0 :(得分:4)

以下测试显示了如何禁用和启用链接导航:

import { Selector, ClientFunction } from 'testcafe';

fixture `Navigation`
    .page `example.com`;

const enableNavigationControl = ClientFunction(selector => {
    const element = selector();

    element.addEventListener('click', event => window.disableNavigation && event.preventDefault());
});

const disableNavigation = ClientFunction(() => window.disableNavigation = true);
const enableNavigation  = ClientFunction(() => window.disableNavigation = false);

test('navigation', async t => {
    const link = Selector('a');

    await enableNavigationControl(link);
    await disableNavigation();

    await t.click(link);

    // Perform assertions...

    await enableNavigation();

    await t.click(link);
});