@Vesnushki Hi, I haven't used the assertions yet, but the documentation says to use qawolf.assertElementText
const qawolf = require('qawolf');
// ...
qawolf.assertElementText(page, '#container', 'hello');
https://docs.qawolf.com/docs/api/qawolf/assert_element_text#examples
@jperl Kinda had an idea right now: I usually run tests multiple times after creation to check for flakyness.
It's a bit bothersome to run the command 3 times, is there a good way to rerun tests in Jest without invoking it via the cli?
I didn't find anything for Jest, however with a little bash magic it should work: https://serverfault.com/a/273241
Not sure if that's the best way though.
Hi guys I just installed QA wolf and I have this message
npx jest --config="node_modules/qawolf/js-jest.config.json" --rootDir=.qawolf --testTimeout=60000 myTest
FAIL .qawolf/myTest.test.js
● Test suite failed to run
TypeError: Cannot read property 'close' of undefined
13 | afterAll(async () => {
14 | await qawolf.stopVideos();
> 15 | await browser.close();
| ^
16 | });
17 |
18 | test("myTest", async () => {
at Object.<anonymous> (myTest.test.js:15:17)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 1.185 s
The test is the one of the tutorial
const qawolf = require("qawolf");
let browser;
let page;
beforeAll(async () => {
browser = await qawolf.launch();
const context = await browser.newContext();
await qawolf.register(context);
page = await context.newPage();
});
afterAll(async () => {
await qawolf.stopVideos();
await browser.close();
});
test("myTest", async () => {
await page.goto("http://todomvc.com/examples/react");
await qawolf.create();
});
Any clue?
innerText
method: https://playwright.dev/#version=v1.3.0&path=docs%2Fapi.md&q=pageinnertextselector-options
const myText = await page.innerText('#mySelector')
executablePath
to qawolf.launch
https://playwright.dev/#version=v1.2.1&path=docs%2Fapi.md&q=browsertypelaunchoptions--options-executablepath
const searchValue = await page.$eval('#search', el => el.value);
const searchValue = await page.$eval('[name="searchTxt"]', el => el.value);