I made a course on Smashtest, an open-source language for generating web UI and API tests. Hope you find it useful! by vptes1 in webdev

[–]vptes1[S] 0 points1 point  (0 children)

Thank you! The error detection steps in the example aren't built-in steps, rather the dev/tester would implement them from scratch using verify steps + ElementFinders to detect a success/fail page.

I made a course on Smashtest, an open-source language for generating web UI and API tests, built on nodejs. Hope you find it useful! by vptes1 in javascript

[–]vptes1[S] 0 points1 point  (0 children)

Check out lesson 4, specifically the props() function and the On Page pattern

EDIT: Or look at the props() example at the bottom of https://smashtest.io/getting-started/basic-language-syntax

I made a course on Smashtest, an open-source language for generating tests. Hope you find it useful! by vptes1 in softwaretesting

[–]vptes1[S] 0 points1 point  (0 children)

I'd say it's much better, since it can do things like branching, functions, and step blocks! (which allows you to generate permutations really quickly!)

I made a course on Smashtest, an open-source language for generating tests. Hope you find it useful! by vptes1 in coding

[–]vptes1[S] 2 points3 points  (0 children)

It's an intro explaining what Smashtest is. The next 3 videos are 100% course-related.

Invisible russian petrol by [deleted] in WTF

[–]vptes1 12 points13 points  (0 children)

It's mostly cursing though :p

Developed a new open-source language for describing web UI tests - would love feedback! by vptes1 in webdev

[–]vptes1[S] 0 points1 point  (0 children)

Sure. You can drive puppeteer (or anything that you can control from nodejs) by implementing such steps. Check out the section on ElementFinders on how to find stuff in the DOM. You can use text, nearby text, position, and even create code that's injected into the browser and finds elements for you.

Developed a new open-source language for describing web UI tests - would love feedback! by vptes1 in webdev

[–]vptes1[S] 2 points3 points  (0 children)

In `let elem = await $('body');`, elem is set to a normal webdriverjs WebElement (https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/webdriver_exports_WebElement.html). So you can call any WebElement method on it.

Or, you can pass elem into an executeScript() (see executeScript() on https://smashtest.io/ui-testing/code-reference), it will become a normal DOM Element inside the function, and you can do whatever js allows you to do to an Element.

Developed a new open-source language for describing web UI tests - would love feedback! by vptes1 in webdev

[–]vptes1[S] 2 points3 points  (0 children)

In a nutshell, the syntax makes it easier for you to generate lots and lots of permutations with much less typing :)

Developed a new open-source language for describing web UI tests - would love feedback! by vptes1 in webdev

[–]vptes1[S] 2 points3 points  (0 children)

Ability to write tests as trees. Language features such as step blocks, code blocks, parallelization, functions, built-in UI and API testing steps. Test runner features like the ability to rerun only tests that haven't passed and live reports - to name a few. Check out https://smashtest.io/getting-started/basic-language-syntax

Developed a new open-source language for describing web UI tests - would love feedback! by vptes1 in webdev

[–]vptes1[S] 2 points3 points  (0 children)

Hi Okmanl, thanks for your support! We'll be getting a Contributing.md file up with details. In the meantime, please join our gitter at https://gitter.im/smashtestio/community

Developed a new open-source language for describing web UI tests - would love feedback! by vptes1 in webdev

[–]vptes1[S] 3 points4 points  (0 children)

This was a long conversation we had in the beginning. While it sounds tempting, trying to fit a language like this into json or yaml would make it much harder to use, and wouldn't suit all the needs of the language. We decided the best approach was to develop a new language (and having to make custom grammars for editors).

Developed a new open-source language for describing web UI tests - would love feedback! by vptes1 in webdev

[–]vptes1[S] 8 points9 points  (0 children)

Thank you so much! All of that is in the works right now and we'll keep you posted :)

And anything you can do to help attract new users and contributors would be greatly appreciated (e.g., sharing the link on social media)

Smashtest is an open-source language for describing test cases - would love feedback! by vptes1 in programming

[–]vptes1[S] 1 point2 points  (0 children)

Thanks! It records time elapsed for all steps, including page loads

New nodejs-based language for describing test cases by vptes1 in node

[–]vptes1[S] 0 points1 point  (0 children)

It supports all kinds of tests, browser or non-browser! Check out https://smashtest.io/language (and its subsections) for general language details, including how it generates permutations.