From a first analysis:
The UI does some browser checks to make sure the used features are supported by your browser.
The check looks like this (see js/browser.js)
var ok = true,
gNbc;
try {
if (!gNbc) {
ok = ok && window.Proxy && typeof new window.Proxy({}, function() {}) === "object";
["1"].forEach(function() {});
ok = ok && window.Promise && typeof new window.Promise(function() {}) === "object";
ok = ok && window.Blob && typeof new window.Blob(["<a></a>"], {
type: "text/html"
}) === "object";
ok = ok && window.requestAnimationFrame && true;
ok = ok && window.Promise.resolve(true).finally(function() {});
}
} catch (err) {
ok = false;
}
if (!ok) {
window.location.href = "sorry.lua";
}
HtmlUnit (as of version 2.56) does not support javascript Proxy's and that is the reason this check fails and finally you are redirected to /sorry.lua.
Again - please open an issue at https://github.com/HtmlUnit/htmlunit.