Documentation › Release Notes › 2.8.1
MaxTAF 2.8.1
This release brings AI test cases that become reusable MXML cases, an AI Observer for MXML runs, two-factor sign-in and self-service passwords, delayed follow-up cases, threshold notifications, and many improvements to the AI Assistant. Smaller changes and fixes follow below.
The AI Assistant is now off for every project. A project admin turns it on under Project Settings → Main → Allow AI Assistant. This applies to projects that used it before this release too.
Scheduled runs now use the master user's API key. If the master user deletes that key, scheduled runs stop until a new key is created. MaxTAF warns before the key is deleted and shows a banner until a new one exists.
New
AI test cases
- Write a test in plain English. Create a case with the language AI and describe the steps, for example "Open Work Order Tracking, create a new work order, check the status is WAPPR". An AI agent carries them out in a real browser against your Maximo.
- The AI run becomes an MXML case. With recording switched on, the run also produces a new MXML case, named
AI_Test_<run id>_MXML, from the steps the AI carried out. It is a fixed script: it compiles on its first run, then runs on its own with no AI and no AI token cost. - Recording is switched on per case with
mx.record_maximo=true. Ask us to set it up for your project. - What the AI did is shown under Console output in the run details, including for AI cases run inside a suite.
- A second check of the result. With
mx.ai.verify.enabled=true, a second AI check reviews an AI test run's result. A result it does not agree with shows as Disputed. - See Writing AI Test Cases.
AI Observer for MXML runs
- Add
mx.ai.observer=trueto an MXML case. When an observed run fails, the run details show an AI Analysis card with the likely cause and a proposed MXML fix. - Apply fix writes the fix to the case and can be reverted. It does not run the case; run it again to confirm.
- Observed runs use AI tokens. The Run dialog tells you when a case is observed.
Account security
- Two-factor authentication. Under User Settings → Security, turn on two-factor authentication with an authenticator app such as Google Authenticator, Microsoft Authenticator or FreeOTP. You then enter a code each time you sign in.
- Change password yourself from the same card.
- Forgot your password? on the sign-in page sends a reset link that is valid for 15 minutes. If two-factor is on, you also enter your current code.
- MaxTAF emails you when your password or two-factor setting changes, and after repeated failed sign-ins.
- After 10 failed sign-in attempts, the account is locked for a short time, starting at one minute and rising to at most 15 minutes.
Delayed follow-up cases
- Run a check later, without anyone waiting for it. Many Maximo processes do not finish while a test runs: escalations, cron tasks, workflow timeouts, SLA clocks, integration queues. Case chaining lets one case set something up and a second case check the outcome hours later.
- Set
mx.run.next_case=<case name>andmx.run.next_case_delay=<seconds>on the first case, for example3600for one hour. When a run of that case passes, MaxTAF schedules the named case to run once the delay has passed. - The wait is held by the MaxTAF scheduler, not by a running test, so no browser or engine is tied up while it waits.
- The follow-up case runs with the same parameters, and values the first case saved with
sys:setSharedRunValue, such as a new work order number, can be read in the next case withsys:getSharedRunValue. - The follow-up runs only if the first case passed cleanly. A follow-up case can name its own next case, so the steps can form a longer sequence;
mx.run.max_chain(default 20) limits its length, and a case is never run twice in the same chain.
Threshold notifications
- With
mx.notify=thresholdandmx.notify.threshold=<percent>, MaxTAF emails the run report only when the pass rate is below that percentage.
Custom MXML tags through the AI Assistant
- When you ask, the assistant can add a project's own MXML tag, or remove one after warning which tests use it. Both need your approval and can be undone.
- A new tag is checked by compiling an existing case, and is undone automatically if it would break the project's MXML.
- Tags can contain other tags, for example a locator inside an action tag.
- If a project's custom tags are not registered, so cases using them fail, the assistant points this out when you ask about them and offers to repair it.
Changed
AI Assistant
The assistant itself is not new, but it has been improved in many ways since the last update.
Where it sits
- A docked panel on every page. The assistant opens as a panel on the right, beside cases, runs, schedules, suites and parameters, and the page narrows to make room instead of being covered. Drag its edge to resize it; it remembers the width.
- The classic AI chat pane has been retired. Everything is in the docked assistant, and the Ask AI buttons send their question there.
What it knows
- It knows where you are. When you send a message, the assistant is told which page and tab you are on, the filters you have set and the rows you have selected, so you can ask about "these runs" without listing them.
- It knows the MaxTAF screens and your role. Ask where something is and it gives the click path and offers to do the task for you, taking into account what your role allows.
- It knows more about MaxTAF. It has better knowledge of creating cases and page objects, the project's file layout, data-driven tests and MXML, in every kind of chat, not only inside an MXML case.
- Links in answers open the case, run, suite, schedule, settings tab or filtered list they refer to.
What it can do
- Fix with AI is quicker. It takes far fewer steps and AI tokens to diagnose and fix a failed run, and it now looks at the case's parameters and configuration as well as its code.
- Custom MXML tags. See Custom MXML tags through the AI Assistant above.
- The MXML grammar is protected. The assistant can read a project's MXML schema files but cannot change them, because one bad edit there would stop every MXML case in the project. When it changes a file, the approval card shows what is removed as well as what is added.
Working with it
- Unsaved work. If you have unsaved edits to a test, the assistant warns you before you accept its change to that test.
- Continue. When the assistant stops partway through a longer task, it tells you why, and a Continue button picks up where it stopped.
- Ask first or Auto-apply as your default. Make it my default keeps your choice for new chats, including after you sign out.
- Composer. The message box grows as you type (Shift+Enter starts a new line) and keeps line breaks when you paste, for example a stack trace. Each chat keeps its own unsent draft, and you can write your next message while the assistant is still answering.
Control and usage
- Off until an admin turns it on, per project (see Before you start).
- Usage. The AI Chat request counter is gone. AI settings show how much of the current period's AI allowance you have used, and a longer task is charged step by step as it completes.
- It gives the same behaviour whichever AI provider your project uses: Claude, OpenAI or Gemini.
Elsewhere
- MXML licence. If a project's MXML licence lapses, MXML cases cannot be created, compiled or run, but nothing is removed. Cases and custom tags work again as soon as the licence is renewed. Other languages are unaffected.
- Suite parameters now override those of a data-driven case inside the suite. The case still runs once per row of its own data file.
- A misplaced tag definition in a project schema is reported as a compile error naming the tag, instead of a general error.
Fixed
- Clicking the dropdown arrow on a Maximo combobox works reliably in MXML runs.
- Clicks on the Maximo Application Suite side navigation wait for the submenu to settle.
ui:waitpauses of five minutes or more no longer lose the browser session.- Run details: the error and failure panels no longer collapse on interrupted runs.
- Runs list: the case type filter works, Stop All stops the runs, and ticking Prevent deletion saves.
- Copying a stock schema file into a project no longer unregisters the project's custom MXML tags.
- REST API: updating a case's parameters saves them; adding a case to a suite without
parallelSerialdefaults to serial; listing cases honoursarchived=true|false.
Two-factor authentication, password reset and the security emails need the updated sign-in configuration and an outgoing mail server. Speak to your Code Development Ltd contact before upgrading.