dependabot[bot] on npm_and_yarn
Bump minimist from 1.2.5 to 1.2… (compare)
dependabot[bot] on npm_and_yarn
Bump shelljs from 0.8.4 to 0.8.… (compare)
dependabot[bot] on npm_and_yarn
Bump minimist from 1.2.5 to 1.2… (compare)
jason0x43 on master
Update dev dependency and api-d… (compare)
dependabot[bot] on npm_and_yarn
dependabot[bot] on npm_and_yarn
jason0x43 on master
Bump minimist from 1.2.5 to 1.2… (compare)
jason0x43 on master
Bump follow-redirects from 1.14… (compare)
jason0x43 on master
Update cbt_tunnels and SauceCon… (compare)
dependabot[bot] on npm_and_yarn
Bump minimist from 1.2.5 to 1.2… (compare)
Hello, I can't seem to find a Leadfoot API that matches the "new window" WebDriver endpoint (https://www.w3.org/TR/webdriver/#new-window). Am I missing something? Or is it because MDN indicates that it's only supported by IE and Firefox?
In which case, would you recommend to use the following?
remote.pressKeys([keys.CONTROL, 't', keys.NULL])
or something like?
remote.execute('window.open()')
Last year, we ran into reporter issues with circular referenced structures. Back then we opened up #1167 for this.
The same problem sneaked up once more, leading to non-failing builds where actually a failure should have been reported:
chrome on windows: 6343 passed, 0 failed
msedge on windows: 6343 passed, 0 failed
Safari on macOS: 6343 passed, 0 failed
TOTAL: tested 3 platforms, 0 passed, 0 failed, 19029 not run
A zero exit code was causing this problem to go undetected for weeks.
In the browsers we are seeing:
Error sending testEnd: Converting circular structure to JSON
--> starting at object with constructor 'Object'
| property 'a' -> object with constructor 'Object'
--- property 'b' closes the circle
remote.ts
for a good place to "fix this" (i.e. catch a failing JSON.stringify call and handle that in some way), but I'm having some trouble finding a good solution
So far, adding
if (data && data.error) {
try {
JSON.stringify(data.error);
} catch (e) {
data.error.actual = data.error.expected = undefined;
}
}
to remote.ts
before calling sendMessage
seems to be working around the problem, but it exposes details about data
that we probably do not want to know about at this level.
stringify
function in lib/common/util.ts
to handle Errors, and potentially general circular references, as this MDN snippet does? Then use that stringify
in the channels.
Hello,
I'm trying to get the code coverage working with functional test but I keep getting errors with heap memory alloc:
<--- Last few GCs --->
[89697:0x5723730] 82022 ms: Scavenge (reduce) 4080.1 (4103.0) -> 4079.6 (4103.3) MB, 4.5 / 0.0 ms (average mu = 0.193, current mu = 0.078) allocation failure
[89697:0x5723730] 82028 ms: Scavenge (reduce) 4080.4 (4100.3) -> 4079.8 (4101.3) MB, 4.9 / 0.0 ms (average mu = 0.193, current mu = 0.078) allocation failure
[89697:0x5723730] 82034 ms: Scavenge (reduce) 4081.1 (4100.8) -> 4080.6 (4102.0) MB, 4.6 / 0.0 ms (average mu = 0.193, current mu = 0.078) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0xa389b0 node::Abort() [node]
2: 0x96e0af node::FatalError(char const*, char const*) [node]
3: 0xbb7a4e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
4: 0xbb7dc7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
5: 0xd73fd5 [node]
6: 0xd74b5f [node]
7: 0xd8299b v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
8: 0xd8655c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
9: 0xd54c3b v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
10: 0x109d21f v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
11: 0x1446379 [node]
Aborted
I know that someone alreay asked but i didn't see any aswer..
Any ideas?
I believe just passing acceptSslCerts: true
as part of an environment config might work, like
{ "browser": "chrome", "acceptSslCerts": true }
or
{
"capabilities": { "acceptSslCerts": true },
"environments": [ { "browser": "chrome" } ]
}
if you want the flag to apply to all environments.
@jason0x43 thanks for the reply.
I have tried both of those options. My config and executor look like:
import intern from 'intern';
intern.configure({
tunnelOptions: {
version: '3.141.59',
drivers: [
{
browserName: 'chrome',
browserVersion: '96',
browserDriver: '96.0.4664.45',
},
],
verbose: true,
},
environments: [
{
browserName: 'chrome',
version: '96',
},
],
capabilities: { acceptSslCerts: true },
functionalSuites: glob.sync('tests/**/all.js', { cwd: __dirname }),
serverPort: 9100,
debug: true,
socketPort: 9101,
});
intern.run();
The browser doesn't seem to navigate to my https url, and with debug turned on I see
16:54:47.644 DEBUG [HttpURLConnection.writeRequests] - sun.net.www.MessageHeader@3ec878bb7 pairs: {GET /session/4764da1b1668bb09a3385856fd820ca3/window_handle HTTP/1.1: null}{User-Agent: axios/0.21.4}{Accept: application/json,text/plain;q=0.9}{Cache-Control: no-cache}{Pragma: no-cache}{Host: localhost:2429}{Connection: keep-alive}
16:54:47.644 DEBUG [HttpURLConnection.getInputStream0] - sun.net.www.MessageHeader@130d76443 pairs: {null: HTTP/1.1 200 OK}{Content-Length: 111}{Content-Type: application/json; charset=utf-8}
16:54:47.644 DEBUG [ReverseProxyHandler.execute] - To downstream: {"sessionId":"4764da1b1668bb09a3385856fd820ca3","status":0,"value":"CDwindow-B941B6A3B41A4B6618BB934A3A6B891B"}
16:54:47.669 DEBUG [WebDriverServlet.handle] - Found handler: 4764da1b1668bb09a3385856fd820ca3 (org.openqa.selenium.chrome.ChromeDriverService)
16:54:47.669 DEBUG [WebDriverServlet.lambda$handle$0] - Handler thread for session 4764da1b1668bb09a3385856fd820ca3 (chrome): Executing POST on /session/4764da1b1668bb09a3385856fd820ca3/window/rect (handler: ServicedSession)
16:54:47.670 DEBUG [ReverseProxyHandler.execute] - To upstream: {"x":0,"y":0,"width":1330,"height":1024}
16:54:47.670 DEBUG [HttpURLConnection.writeRequests] - sun.net.www.MessageHeader@3089c43c9 pairs: {POST /session/4764da1b1668bb09a3385856fd820ca3/window/rect HTTP/1.1: null}{User-Agent: axios/0.21.4}{Accept: application/json,text/plain;q=0.9}{Content-Type: application/json; charset=utf-8}{Cache-Control: no-cache}{Pragma: no-cache}{Host: localhost:2429}{Connection: keep-alive}{Content-Length: 40}
DEBUG: Suite errored with non-skip error self signed certificate
Which is leading me to think it is a self signed certs issue
serverUrl
property can be pointed at that. If Intern's serverUrl
address is https
, it will try to open its websocket connection over SSL as well.
@jason0x43 Do you know of any issues in Firefox with drag and drop? I have a set of suites that are failing in FireFox, and we used to use Chrome and the suites were fine.
The following code does not execute properly in Firefox. Nothing is dragged, and we don't get any errors at all, just assertion fails:
.findById(dragId)
.moveMouseTo(0, 0)
.click()
.pressMouseButton()
.moveMouseTo(null, 1, 1)
.end()