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