WebdrierIO: ERROR:gpu_init.cc(486)] Passthrough is not supported - webdriver-io

I am using the WebdriverIO UI Automaiton, I am getting an error when i am trying to automation
Test Scenario: browser specifc alerts.
Note: I have tried possbile options "https://chercher.tech/webdriverio/handle-alerts-webdriverio" and its not spporting.
seems to very specific gpu_init.cc(486).
ERROR:gpu_init.cc(486)] Passthrough is not supported

Related

Does the safaridriver support proxy configuration?

I've been trying to use Robot Framework to write some cross browser tests.
One of the requirements is that i need to use a proxy to access the website I am testing. Right now, I am trying to launch the safari browser and get it to go through the proxy to reach the website, but I seem to have an issue.
Here is the Robot framework keyword
# ${MY_PROXY} is a variable located elsewhere in the file
Open Safari
${desired_capabilities} = Evaluate selenium.webdriver.DesiredCapabilities.SAFARI
sys, selenium.webdriver
${safari_proxy} = Create Dictionary proxyType MANUAL httpProxy ${MY_PROXY}
sslProxy ${MY_PROXY}
Set To Dictionary ${desired_capabilities} proxy ${safari_proxy}
Create Webdriver Safari desired_capabilities=${desired_capabilities}
So far, i've been receiving this error
SessionNotCreatedException: Message: Capability 'proxy' could not be honored.
Currently using robotframework-seleniumlibrary 4.5.0 with selenium 3.141.0
Does the safari webdriver allow proxies? I can't seem to find much on this topic

How to run TestCafe tests with throttling connection?

I need to check functionality if a file is uploading longer then 1 minute.
To check it with manual testing I use Chrome Dev Tools to set Throttling "Slow 3G".
But I can't figure out how to do it with TestCafe.
TestCafe does not have an API to set the throttling. However, TestCafe uses Chrome DevTools Protocol internally so you can get access to internal CDP methods.
Please refer to the following links to get started:
Chrome DevTools Protocol
chrome-remote-interface package
chrome-remote-interface repo
Please also take a look at the following example which shows how to enable file downloading in chrome headless.
I think you need to combine this example with the CDP Network.emulateNetworkConditions method.
Please refer to this article https://chromedevtools.github.io/devtools-protocol/tot/Network#method-emulateNetworkConditions

Relaxing Microsoft Edge CSP while running tests (webdriver) (Content-Security-policy)

I'm trying to relax Microsoft Edge CSP while running a test using proctractor (webdriver, chromedriver).
So the solution can be either
flag like "--disable-csp" which dose not exist according to my search results.
setting for webdriver/protractor to do so.
load an extension that dose that ( Like in chrome
Relaxing Chrome's CSP while running tests (webdriver) (Content-Security-policy))
I could not find any solution but to setup a proxy that filters the header.
any ideas?
I figured the best approach would be to use the solution from the same question for Chrome and just to convert the Chrome extension to a Microsoft-Edge one.
Follow the linked question to the point you got.
Convert the Chrome extension to an Edge extension using this tool
Use the extensionPath option to load the extension the.

Capture web driver network traffic across all browsers

I want to capture all the network calls from Web Driver in Java. I am not doing any UI testing, just testing JS execution and, requests and responses of some network calls.
I tried using Browser Mob as is suggested in most forums, but I need it to work across all browsers. It worked flawlessly with Firefox, but I was facing some issues with the others. Safari driver doesn't event support a Proxy capability.
I don't want to use Fiddler as it involves some manual steps around invoking and storing the calls. Whereas, Browser Mob being an in-code proxy can be integrated in a more smoother fashion.
I also tried using the RC-like package included in Selenium standalone server package. But, I have some HTTPS calls and some nested iframes in cross domains. I am particularly interested in some cross domain POST call and it doesn't work out that well. Also, people keep saying it's not recommended to use that package.
So, I had a solution where we can use a standalone proxy server running on a machine. Using host entries, we'll point Web Driver to hit the proxy instead of the actual server. The proxy will record all the incoming calls and route them to the actual server host. Later, I can make a request to the proxy which will return me all the calls it intercepted. I am not sure whether it's still called a proxy or a router.
I came across TCPmon, but it's no longer being supported. Does anyone know some similar tools that could run on Unix systems or any alternate solutions?
We modified the Fiddler rules script to include a new exec action. If you use their native script editor, it also provide auto complete features and we were comfortably able to get around it. The syntax is similar to that of JavaScript.
The Fiddler package comes with a ExecActions.exe which can be used to pass console arguments to a running Fiddler instance using the command prompt.
The code we wrote processed all the sessions captured by Fiddler and wrote it to a file in a custom JSON format and later used GSON to deserialize it.
Please let me know, if you want further details.

what does "*firefoxproxy" or "*iexploreproxy" do

I am researching the selenium and I don't understand "*firefoxproxy" does for ? I can use selenium well with just "*firefox". Please explain to me when we will use that mode ?
From the Selenium documentation:
"...additional run modes of *iexploreproxy and *firefoxproxy. These are provided for backwards compatibility only, and should not be used unless required by legacy test programs. Their use will present limitations with security certificate handling and with the running of multiple windows if your application opens additional browser windows."
http://seleniumhq.org/docs/05_selenium_rc.html
So just stick with *firefox.