PromucFlow_constructor/app/client/perf/tests/sample-test.js
Satish Gandham c9a7587dcf
ci: Fix golden app tests and more (#15172)
* - Save the DOM on test failures.
- Handle promise rejection in tests.
- Save console logs to a file instead of stdout

* - Fix golden app tests
- Upgrade widgets in golden app to latest version

* - Removing logging to file temporarily
- Add test index to the file names

* Some final cleanup

Co-authored-by: Satish Gandham <satish@appsmith.com>
2022-07-15 14:40:45 +05:30

47 lines
1.1 KiB
JavaScript

const path = require("path");
const Perf = require("../src/perf.js");
const dsl = require("./dsl/simple-typing").dsl;
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
async function sampleTest(iteration) {
const perf = new Perf({ iteration });
try {
await perf.launch();
const page = perf.getPage();
await perf.loadDSL(dsl);
const selector = "input.bp3-input"; // Input selector
await page.waitForSelector(selector);
const input = await page.$(selector);
await perf.startTrace("Edit input");
await page.type(selector, "Hello Appsmith");
await perf.stopTrace();
await perf.startTrace("Clear input");
await input.click({ clickCount: 3 });
await input.press("Backspace");
await perf.stopTrace();
await perf.startTrace("Edit input again");
await page.type(selector, "Howdy satish");
await perf.stopTrace();
await perf.generateReport();
await perf.close();
} catch (e) {
await perf.handleRejections(e);
await perf.close();
}
}
async function runTests() {
for (let i = 0; i < 5; i++) {
await sampleTest(i + 1);
}
}
runTests();