Skip to content

Instantly share code, notes, and snippets.

/* eslint-disable no-console */
const createTestCafe = require('testcafe');
/* eslint-disable-next-line import/no-unresolved, import/extensions */
// const allureReporter = require('../src/reporter/allure-reporter');
/* eslint-disable-next-line import/no-unresolved, import/extensions */
// const { reporterConfig } = require('../src/utils');
let testcafe = null;
createTestCafe()
@AlexKamaev
AlexKamaev / runner.js
Created November 9, 2020 08:03
5157 - makavelic
const createTestCafe = require('testcafe');
async function run () {
const testcafe = await createTestCafe('localhost', 1337, 1338);
const runner = testcafe.createRunner();
const failedCount = await runner
.src('test.js')
.browsers('chrome')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.rawgit.com/drvic10k/bootstrap-sortable/ff650fd1/Contents/bootstrap-sortable.css">
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
@AlexKamaev
AlexKamaev / st64145283
Created October 1, 2020 07:56
st64145283
fixture `f`
.page `http://example.com`;
test('test', async t => {
await t.click('h1');
await t.click('body');
await t.click('h1');
await t.click('body');
await t.click('h1');
await t.click('body');
@AlexKamaev
AlexKamaev / 2.md
Last active June 30, 2020 11:12
Multiple Browser Windows API
  1. switchToParentWindow()
  2. switchToRecentWindow()
    • without history. Only back to previous.
  3. switchToWindow(predicate: ({ url: Object, title: string }))
switchToWindow(w => w.title === 'test title');
switchToWindow(w => w.location.href === 'http://example.com')
switchToWindow(w => w.title === 'Title' && w.location.host === 'example.com')
@AlexKamaev
AlexKamaev / index.js
Created August 13, 2019 08:53
Multiple runners
const createTestCafe = require('testcafe');
createTestCafe('127.0.0.1', 1335, 1336)
.then(tc => {
testCafe = tc;
})
.then(() => {
const runner1 = testCafe.createRunner()
.browsers(`chrome`)
.concurrency(3)
@AlexKamaev
AlexKamaev / test.js
Created July 18, 2019 08:35
Enable file downloading for Headless Chrome using TestCafe internal API
import path from 'path';
import { Selector } from 'testcafe';
async function enableDownloadForHeadlessChrome (t) {
const browserConnection = t.testRun.browserConnection;
const client = browserConnection.provider.plugin.openedBrowsers[browserConnection.id].client;
const { Network, Page } = client;
await Promise.all([
Network.enable(),
@AlexKamaev
AlexKamaev / index.html
Created June 28, 2019 13:17
X amount of keypresses
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input id="input" />
@AlexKamaev
AlexKamaev / multiple_runners.js
Created April 25, 2019 11:39
multiple_runners.js
const createTestCafe = require('testcafe);
createTestCafe('localhost', 1337, 1338)
.then(tc => {
testcafe = tc;
const runner1 = testcafe.createRunner();
const runner2 = testcafe.createRunner();
const promise1 = runner1
.src([
import { RequestLogger } from 'testcafe';
fixture `fixture`
.page `about:blank`;
const logger = RequestLogger(/.*/, {
logRequestHeaders: true,
logRequestBody: true,
logResponseHeaders: true,
logResponseBody: true