Использование @ wdio / syn c из проекта машинописного текста - PullRequest
0 голосов
/ 29 марта 2020

Я добавляю некоторые браузерные тесты в свое приложение реагирования / машинописи.

Параметры компилятора:

"compilerOptions": {
  "allowJs": true,
  "allowSyntheticDefaultImports": true,
  "esModuleInterop": true,
  "lib": ["es2017", "dom"],
  "module": "esnext",
  "moduleResolution": "node",
  "target": "es6"
}

Я следую приведенному здесь примеру: https://github.com/erwinheitzman/jest-webdriverio-standalone-boilerplate

Который имеет в тесте утверждение вроде (после некоторых модов):

import { BrowserObject } from '@wdio/sync';
const **sync** = require('@wdio/sync').default; // Warnings here

test('synchronous WebdriverIO test', () => **sync**(() => {
  ...snip...
}));

Я получаю предупреждение:

require statement not part of an import statement (no-var-requires)tslint(1)

Как на земле это сделать Я здесь использую оператор импорта?

import sync = require('...').default; // Doesn't work. Says Declaration or statement expected.ts(1128)
import sync from '...'; // Doesn't work. Says Cannot use namespace 'sync' as a value.ts(2708)

Я так запутался из-за всего этого. Из того, что я могу сказать, syn c означает «использовать пространство имен WebDriverIO из wdio / syn c». Есть ли способ импортировать это?!?

1 Ответ

0 голосов
/ 31 марта 2020
import * as sync from '@wdio/sync';

и

const sync = import("@wdio/sync");

у меня оба работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...