Re-ReCoder

Yeah, that looks amazing!

1 Like

Also within the realm of practical is to require passing recoder test (on vanilla edu instance) be submitted with every pull request to kinetic repos going forward.

These tests could then be published to a library by patch version and partners/customers run them on our pilot during the test window.

As it is we don’t even know what new features to test exactly.

2 Likes

Last time I looked at this the project had some dependancy issues, I reached to the email address in the documetation and they sort of got things working for me, however. I found that just sticking the project into vs code and fire up agent mode to fix the project up and I had recorder working with the examples in very short time. Which I am currenly short of now and shouldn’t really be posting but it caught my eye. Really need to get a library of scripts setup with data in it

2 Likes

I would be surprised if this isn’t already happening. The challenge here is handling the various module combinations, CSFs, verticalizations, single company, single plant, etc. In other words, what makes an instance ā€œvanillaā€?

If we were to create a community test suite as a starter project, we would have to come up with a testing order to do authentication first, then some basic UI API testing, then screen interaction, etc.

Can you elaborate? Issues in the script code? Order of testing?

1 Like

This was as few months ago when I dug into it further. At the time (and it might have changed) They gave you a sample project that you put into VS code and spun up…Sorry can’t remember the full details. You needed to run npm install against the sample project they provided. That’s when I got errors. The WDIO component was out of date and there were a lot of warnings re deprecated dependencies etc. That’s when I took to copilot to just get me past it, once that was done. it worked for me.

2 Likes

Right. They may have a dozen or more major implementation types to test against for whatever level of QA they want to guarantee.

Then another preemptive group of CR candidates running tests on pilot data finds outliers.

So vanilla is whatever base/edu they choose to maintain and guarantee for CR

Then refine and publish vanilla tests for all.

Test run timing is important, yes. And even within UI there’s 4x tests for CRUD. And within Update there a distinction between updating test created records vs preexisting records. For example, their tests may pass for crudding new supplier but they didn’t test updating and existing in this case: PSA! Supplier Entry Broken - USA! PSA! USA! - #27 by timshuwy

It’s a deep matrix but we’re moving in the right direction.

2 Likes

Looks like 4.0.0 is now on EpicWeb.

4 Likes

Yes!

4 Likes

This looks very different than version 3. Not sure how to register or get started. Anything I tried for org id doesn’t work

2 Likes

Same.

It’s reaching out to an AWS site (3.234.81.250) on port 443. :person_shrugging:

It’s an Electron app and sure calls DataDog a lot!

3 Likes

After speaking to our CAM, ReCoder has two levels: a low-code free version and a paid no-code version with AI capabilities. The free version, I assume, is the browser extension. The paid version requires a minimum of five seats. The no-code version is the Epicor Test Executor.

The Test Executor module creates environments (DEV|PILOT|etc), Test Plans, and Test Suites (collection of tests). Like other popular testing frameworks, it has a test healing agent that tries to fix tests when they break. Since there is AI involved, there is a daily token limit.

It has a schedule to run tests/suites on a time schedule. I did not see any GitHub integration to run tests in a CI/CD scenario like Check-In or Pull-Request. In fact, I didn’t see anything about versioning tests themselves. :thinking:

One of the popular practices in automated testing is the use of Page Objects or a Page Object Model. These objects encapsulate all of the fields and methods about a page in a single reusable class. This makes it easier to maintain everything about a page in a single place which makes updating behavior much easier. The Test Executor documentation says that it has the capability to look across all tests and combine like page objects and merge them.

This is all pretty new so expect to hear more from Epicor in the future.

6 Likes

Thanks for digging into it for us.

1 Like

Yikes… If Epicor can’t test their own product with their own eduction DB that is UP TO DATE based on their lastest features…I am worried.

That’s an admirable approach and I’d be up for that… The biggest stumbling block is that customer want to see ā€œTheir Dataā€ and for some reason seem to steer away form using the Education Database. It breaks my heart to see such a good resource wasted.

Pretty sure there will be a session on this at Insights :thinking:

1 Like

TLDR… Missed that @Mark_Wonsil and just reached out to get more detail… Not sure how keen I am to enable the AI component. Don’t you want to check when things fail yourself?

Actually this was for a chrome driver I was having an issue with, when you run npm install --force you get 33 vulnerabilities and 21 high

This is what I did to fix the issues. Just about to do it again so it may have changed. Currently seeing a number of issues. when I run npm install --force

I think that you may have missed my point. Epicor can complete some testing, and the more the better. But it is also not practically possible for any ERP vendor to validate every configuration and feature combination each time.

Just consider that there is probably 100 or so different licensed module configurations used with over a dozen CSFs and dozens of key functionality options (i.e. AMM, currencies, serial number tracking, warehouse setups, etc.) that can substantially vary the system flows. There would need to be hundreds or thousands of concurrent test systems running billions of validations to even cover most possible configurations and system flows. And that would still only be for specific sample data without any customizations - which almost every Kinetic customer seems to have at least some of.

Therefore, having good sample test flows available that can be easily downloaded and modified for customer specific scenarios, is what I think would be an amazing improvement within the realms of practical possibilities.

2 Likes

And you could argue they built it…

Totally understand your point and yes identifying the list of most popular to least should help… How that looks… Telemetry dare I say. You have to exclude customisations… That’s really where it comes into its fore for the customers… And as we know there are a lot of situations where the user inadvertently uses the system differently to how it was developed and tested.

A tool such as recoder can help immensely with this, there is no argument there.

I read your post after an hour of frustration with Kinetic, so apologies if my post came over somewhat negative.

3 Likes

:100:

As the purveyor of unpopular ideas here, there is an in-between strategy here. IMHO, we should be building mini-implementations of our companies. There should be just enough data to test implementation ideas, try new capabilities, test customizations, etc. The static data like reason codes, GL information, should be an exact replica, but parts, customers, suppliers, employees, etc. should be anonymized data. This data would also be use to regression testing for upgrades. Since these databases would be much smaller, it would be more efficient to keep a copy at each version and automate a way to spin a new instance for development, upgrade testing, or new business process development. Users could use snapshots or restore quickly.

Maybe to keep the terminology clear, we should say Selenium instead of ReCoder. ReCoder is a browser extension that creates Selenium scripts and has helpers to guide users on best element locators. Playwright codegen is similar without an extension, it launches the browser and controls it. But the truth is, both of these recording tools are like Microsoft Office Script Recorders that generate VBA code for actions, but one really wouldn’t use the result of those recordings for production scripts. There is so much more to writing effective tests than just recording and there are dozens of articles explaining this. For example:

https://medium.com/@sourojitdas/i-reviewed-100-playwright-test-suites-90-were-lying-to-you-f7ee00dbd51e

Where Epicor could help is to provide Page Objects for most screens. Some examples ship with the kit but why should everyone recreate these? :person_shrugging:

3 Likes