Common Issues
Exception when starting the webdriver
E.g., “chrome not reachable”, “unable to discover open webpages”
- Attempt to execute the tests again (sometimes chromedriver is not instantiated on the first try)
- Verify if chrome was updated in the meanwhile, and download a newer version of chromedriver
Exception "Cannot modify resources without write transaction"
One needs to obtain the lock to edit some of PARADIGM-ME's attributes. This is done with the following code:
// in the first line, define the object for which to adquire the lock (in this case, Element targetElement) TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(targetElement.eContainer()); TransactionImpl transaction = new TransactionImpl(editingDomain, false); try { transaction.start(); // all edits happen here targetElement.setAttribute(newValue); targetElement.getAttrList.clear(); transaction.commit(); } catch (InterruptedException exception) { exception.printStackTrace(); } catch (RollbackException exception) { exception.printStackTrace(); transaction.rollback(); }
Error: Cannot find Init/End node in Form
… and the Form actually has all elements properly identified (name and ID), and connected.
Close the all the diagrma for that project. Open again the main diagram, and open the faulty form with 'Open Diagram'. Finally, without closing either diagram, save both if needed ('*').
Selenium's "Stale element exception"
Selenium found the an webelement on which to perform an action. However, when it attempts to perform the action on that webelement, the element 'is no longer connected to the page'. This can happen if the page is refreshed or the target webelement changed before Selenium can execute the action.
Compile error: "Cannot find <generatedClass>"
Can occur if the Paradigm structure has been altered in the meanwhile, and Eclipse isn't recognizing those changes.
In the package 'Paradigm', go to 'models', 'Paradigm.genmodel', right-click on the top element and select “Generate All”. Clean the project and attempt a new build.
Other Notes
Currently, PARADIGM-ME is configured mainly for working with Windows32 bits, and Selenium's Chromedriver. In other platforms, they might occur errors in packages Paradigm.mapping and Paradigm.testExecution (due to these packages' reliance on external libraries). As such:
- If using Mac, change the boolean 'MAC' to true in Paradigm.mapping and Paradigm.execution.
- If using a main drive other than C:, take care to change the path from where the webdriver is loaded.
- Replace the Sikuli and Selenium setups with those appropriated for your system.