Size: a a a

JavaScript testing

2021 October 04

BO

Boris Osipov in JavaScript testing
а не просто balblalba.getAttribute("zopa")
источник

O

Olga in JavaScript testing
await expect(links).toBeDisplayed( { wait: 5000 }) перед консоль лог. Только не помню, как там, когда это $$. Ну или да, waitUntil({ длина массива со ссылками > 0})
источник

BC

Bogdan Chentsov in JavaScript testing
доку то я читал, await проставил сразу после уточнения про паузы
источник

BC

Bogdan Chentsov in JavaScript testing
спасибо, до waituntil не дочитал, изучу
источник

O

Olex in JavaScript testing
Супер! 🚀
источник
2021 October 05

K

Kanstantsin in JavaScript testing
На каком языке всё это будет?
источник

NK

ID:0 in JavaScript testing
Node.js Development in 2022: trends and techniques
#announcement

На сайте Fwdays появилось описание моего доклада: "Разработка на Node.js в 2022 году: тенденции и приемы". Процитирую:
Задача этого доклада показать новинки экосистемы Node.js. Новые фичи Node.js v16, языковые конструкции JavaScript/TypeScript, набирающие популярность фреймворки и подходы – таков неполный список новинок попавших в этот обзор. Главное в этом обзоре это ответы на вопросы как, когда и главное зачем использовать эти новинки.

Доклад будет обзорным – на широту и целостность, а не на глубину. Подобный я уже делал в 2019 в рамках JSFest. Часть контента уже есть в формате рецептов на канала, часть только будет опубликована – до 27 ноября еще много времени. Буду признателен если вы напишите в комментариях, что вы ожидаете увидеть в докладе. Так же меня можно позвать выступить у вас с этим докладом.
источник

OK

Oleksandr Khotemskyi in JavaScript testing
английский
источник

V

Vktor in JavaScript testing
всім привіт) WebdriverIO, js, appium. хтось підкаже чи можна якось перевіряти який зараз сьют ранитья і мяняти сapabilities в залежності від цього? в мене вимога шоб тести ранилися на 3 андроід емулятора, хочу щоб smoke sute ранився тільки на одному емуляторі і в оnPrepare hook просто поміняти кількісь девайсів на 1. Законсоль ложив конфік і капабілітіс не бачу як поняти який сьют раниться зараз
{
 specs: [ 'e2e-tests/test/specs/c212803_loginIncorrectCredentials.test.js' ],
 suites: {
   smoke: [
     'e2e-tests/test/specs/c212809_locationSelectionFor1r1LUser.test.js',
     'e2e-tests/test/specs/C212807_locationSelectionFor2r2LUser.test.js',
     'e2e-tests/test/specs/c220479_drawerComponentVerification.test.js',
     'e2e-tests/test/specs/c220486_redirectionToInventoryAdjustmentPage.test.js'
   ]
 },
 exclude: [],
 outputDir: undefined,
 logLevel: 'error',
 logLevels: {},
 excludeDriverLogs: [],
 bail: 0,
 waitforInterval: 500,
 waitforTimeout: 20000,
 framework: 'mocha',
 reporters: [ 'spec', [ 'allure', [Object] ] ],
 services: [ [ 'sauce', {} ] ],
 maxInstances: 1,
 maxInstancesPerCapability: 100,
 filesToWatch: [],
 connectionRetryTimeout: 180000,
 connectionRetryCount: 3,
 execArgv: [],
 runnerEnv: { FORCE_COLOR: 1 },
 runner: 'local',
 specFileRetries: 1,
 specFileRetriesDelay: 0,
 specFileRetriesDeferred: false,
 reporterSyncInterval: 100,
 reporterSyncTimeout: 5000,
 cucumberFeaturesWithLineNumbers: [],
 autoCompileOpts: {
   autoCompile: true,
   tsNodeOpts: { transpileOnly: true },
   babelOpts: {}
 },
 mochaOpts: { timeout: 60000, ui: 'bdd' },
 jasmineOpts: { defaultTimeoutInterval: 10000 },
 cucumberOpts: { timeout: 10000 },
 onPrepare: [ [Function: bound onPrepare] AsyncFunction ],
 onWorkerStart: [],
 before: [ [Function: bound before] ],
 beforeSession: [],
 beforeSuite: [],
 beforeHook: [],
 beforeTest: [],
 beforeCommand: [],
 afterCommand: [],
 afterTest: [ [Function: bound afterTest] AsyncFunction ],
 afterHook: [],
 afterSuite: [],
 afterSession: [],
 after: [],
 onComplete: [],
 onReload: [],
 beforeFeature: [],
 beforeScenario: [],
 beforeStep: [],
 afterStep: [],
 afterScenario: [],
 afterFeature: [],
 baseUrl: 'http://localhost',
 region: 'us',
 _: [ 'wdio.sauce.conf.js' ],
 suite: [ 'smoke' ],
 '$0': 'node_modules\\@wdio\\cli\\bin\\wdio.js'
} config
[
 {
   platformName: 'Android',
   'appium:orientation': 'PORTRAIT',
   acceptInsecureCerts: true,
   'appium:noReset': true,
   'appium:newCommandTimeout': 240,
   'appium:language': 'en',
   'appium:locale': 'en',
   'sauce:options': {
     build: 'TakeoffMobile E2E tests Android: 2021-10-05T10:05:09.925Z',
     appiumVersion: '1.20.1'
   },
   'appium:deviceName': 'Samsung Galaxy S8 Plus WQHD GoogleAPI Emulator',
   'appium:platformVersion': '7.1',
   'appium:app': 'storage:abf3f4a7-5035-4fd4-b785-69fecfd513c4'
 },
 {
   platformName: 'Android',
   'appium:orientation': 'PORTRAIT',
   acceptInsecureCerts: true,
   'appium:noReset': true,
   'appium:newCommandTimeout': 240,
   'appium:language': 'en',
   'appium:locale': 'en',
   'sauce:options': {
     build: 'TakeoffMobile E2E tests Android: 2021-10-05T10:05:09.925Z',
     appiumVersion: '1.20.1'
   },
   'appium:deviceName': 'Samsung Galaxy S9 Plus HD GoogleAPI Emulator',
   'appium:platformVersion': '8.1',
   'appium:app': 'storage:abf3f4a7-5035-4fd4-b785-69fecfd513c4'
 },
 {
   platformName: 'Android',
   'appium:orientation': 'PORTRAIT',
   acceptInsecureCerts: true,
   'appium:noReset': true,
   'appium:newCommandTimeout': 240,
   'appium:language': 'en',
   'appium:locale': 'en',
   'sauce:options': {
     build: 'TakeoffMobile E2E tests Android: 2021-10-05T10:05:09.925Z',
     appiumVersion: '1.20.1'
   },
   'appium:deviceName': 'Google Pixel 3a GoogleAPI Emulator',
   'appium:platformVersion': '11.0',
   'appium:app': 'storage:abf3f4a7-5035-4fd4-b785-69fecfd513c4'
 }
] capabil
источник

OK

Oleksandr Khotemskyi in JavaScript testing
в капабілітях можна вказувати які файли з тестами include/exclude
источник

OK

Oleksandr Khotemskyi in JavaScript testing
browserName: 'firefox',
       specs: [
           'test/ffOnly/*'
       ],
источник

V

Vktor in JavaScript testing
всеодно не зовсім розумію) в мене є wdio.suce.congf.js з такими девайсами  3 девайсами і хочу запустити команду npx wdio wdio.sauce.conf.js --suite smoke але якось поміняти кількість девайсів шоб було не 3 а 1. A команда npx wdio wdio.sauce.conf.js ранила тести на 3ох девайсах
источник

VG

Vick Gr in JavaScript testing
в такому разі треба писати свій врапер поверх вдіо раннера, який може парсити конфіг і вибирати потрібні тобі капабілітіс
const Launcher = require('@wdio/cli').default;


exports.runWdiolauncher = () => {
   
   // declare a new Launcher for wdio
   const wdio = new Launcher(pathToConfig, wdioArgs);
   // decide what browser tests should run on.
   filterBrowsers(wdio, argv.browser)
 
   // run tests
   wdio.run().then((code) => {
       process.exit(code);
   }, (error) => {
       console.error('WD.io Launcher failed to start the test', error.stacktrace);
       process.exit(1);
   });
}
источник

VG

Vick Gr in JavaScript testing
filterBrowsers(wdio, argv.browser) - тут потрібно перебрати девайси які тобі треба, argv.browser - це параметри які передаю в командній строці для запуску
источник

V

Vktor in JavaScript testing
хм. трохи складнувато виглядає)
я наразі так зробив, додав в onPrepare:
const runningSuite = config?.suite?.[0];
     if (runningSuite === 'smoke') {
       capabilities.splice(-2); // to make smoke suite work only on 1 device
     }

Едина маленька проблемака шо напочатку неправильну кількість тестів пише "Execution of 12 workers started at 2021-10-05T11:44:54.486Z" а запускає реально 4 тести
источник

V

Vktor in JavaScript testing
але скопіював собі ваш приклад) може ше пригодиться, дякую!
источник

DI

Denys Iaremenko in JavaScript testing
Так просто отдельные карабилитис сделай и в бифор в if сделай проверку Смоук или нет
источник

DI

Denys Iaremenko in JavaScript testing
Правда не знаю можно ли так в wdio но в pytest так точно можно было)
источник

V

Vktor in JavaScript testing
може якийсь маленький приклда кинеш?) певно торможу трохи, але знов не зовсім поняв
источник

DI

Denys Iaremenko in JavaScript testing
Да, немного позже постараюсь сделать))
источник