Get WebdriverIO multi-remote to work with Cucumber BDD - ui-automation

I am able to start multiple browser sessions in a single test using WebDriverIO's multiremote with mocha.
Next I'm trying to get WebDriverIO multiremote work with Cucumber BDD. My feature definition is simply to open a browser session and navigate to a url.
Here's my simple WDIO
Problem - the browser opens up but navigation does not occur. I have tried to enable the debugger and observe node-inspector but hasn't helped. What am I missing? Thanks for all the help.

My goal was to conduct multi-user scenario based testing through BDD. Although I haven't been able to resolve this directly via WebDriverIO I found Chimp (which uses WebDriverIO underneath) has its own flavour of session based automation.
Chimp's multi-browser testing does exactly what I wanted. Problem solved!
I'm able to write scenarios such as this without explicitly switching the user context.
Scenario: Able to browse independently
Given Alice goes to "/features"
And Bob go to "/bugs"
Then Alice sees "10" features
And Bob sees "1" bugs

Related

Use openapi service in Flutter Drive integration test, but run into dart:ui problem

The app I am trying to test makes use of feature toggles to enable/disable certain parts of the app. However, the tests I've written are for all the features. When a user logs in, this will fetch the feature toggles from a REST service (using a class which uses the generated openapi) so the app knows what to show and what not to show.
Now I want to include those feature toggles in my tests, so that the corresponding tests are skipped and don't just fail if some parts aren't enabled. However, when I try to include the class that does the call, I get problems with dart:ui in the console, and the test no longer runs. When I (recursively) check the imports on those service classes, there are some imports to widgets.dart, so I guess that's the problem. I tried removing most of it, but since we're using Localized strings for error messages etc. it's getting to be a very cumbersome job to remove all of that from those files.
So before I continue doing that, I was wondering if there is any easy way to include a call to a REST service in an integration test?
I checked the Flutter drive documentation, and searched for some similar questions online but haven't really found anything similar.

Deployed Google Action (production release) cannot be found on Google Assistant

I deployed the production release for my first Google Action. But even 2 weeks after the approved deployment I can find my action neither in the Google Assistant store nor directly via voice activation.
The test versions ran fine and was found every single time. So the invocation name should not be the problem. When I use the generated action link from the console I find the action in the store and can send it to my Smartphone, where I can start it with the sent link. But after closing the app I cannot open it again via voice.
I used two different google accounts on different devices (all are set up in the right language: german), but no chance.
Is this a mistake on Googles side or do I miss anything? In this state I have to open the action every time over the action link which is useless for a voice app :)
Here is the link to my action: https://assistant.google.com/services/invoke/uid/000000c77f740137?hl=de
The invocation would be for example: "Mit Erfolgs-Fans sprechen" (like said, on the test this name was found every single time)
This happened to me too. Though it wasn't in production when I faced it. I was also not able to see the action in Assistant-enabled devices (Google home app/assistant).
It is probably not the invocation name issue, it is just that the action is not being made visible across all the platforms. Some of the solutions I tried were-
Clean cache of the device
Create a new action with everything just the same as in your current actions. It worked once for me!
Go to GCP and under your project, try to understand if there is any pending activity.
Once I created so many actions because I wasn't able to see it that after around 30 days all those actions started to become visible. So, if you can wait that is fine.
In the end, do contact their support with all the relevant information. I hope they should be able to help.
Thank you!

Does Katalon support opening webUI and mobile driver in same script

We want to execute a automation test case wherein first operations will happen on WebUI and then it will switch to Mobile execution. The process will be done sequentially. I want to write all script in one testcase itself. First script will execute on Chrome browser then in connected mobile device.I am looking for someone who has achieved this in katalon. I need a solution other than test suite collection.
This can be done by using profiles in katalon :
https://docs.katalon.com/katalon-studio/docs/execution-profile-v54.html
Please also remeber that this is not only profilesbut also enviroment (chrome or mobile). You can use this Execution window as example what eviroment i am talking about.

Sentry Raven inside Firefox Addon SDK

I am making a Firefox Extension and I want to log the errors/messages/exceptions produced by the extension code using Sentry.
I tried the JavsScript Raven client but I guess its not really made to live inside the "Content" context.
The error I get is: message = "debug" is read-only, but my actual question is, how do I go about integrating Sentry in a Firefox Addon?
PS: No, this wont go into general distribution, my api keys are safe.
What I did was just to omit calling .install() and just use the error/message reporting.
There will be no automatic catching and source code but it works for my purposes.

Using Turbolinks with Selenium IDE

When I run my selenium test without the turbolinks gem installed in my Ruby on Rails app, the tests pass. When I include turbolinks, the tests fail. For example if the test starts off
Open /
clickAndWait link=Sign in
type id=session_email any#example.com
Then I will get an error
"[error]Element id=session_email not found.
When I look at the page source, the session_email id is still there with turbolinks installed. I found this page, http://www.digitalkingdom.org/rlp/tiki-index.php?page=Selenium+And+Javascript, which seems to indicate there could be a problem with detecting the page has fully loaded.
Is there away to fix this without changing hundreds of lines in my test suites? If not, is there a reliable selenium method that can test that a turbolinked page has fully loaded?
After some help with the github turbolinks-compatability project, I am able to provide a partial answer to this question.
If the turbolinks gem is being used, then you will need to modify your selenium test cases in order to make sure the page is really loaded. For example, if your test has the following code in it
Open /
clickAndWait link=Sign in
type id=session_email any#example.com
then it needs to be modified to
Open /
click link=Sign in
waitForElementPresent id=session_email
type id=session_email any#example.com
There are a number of "waitFor" modifiers you can used, depending on what is the feature on the page you want to test next.
However, if the test involves a javascript pop up, then you should not add a waitFor command. So for example if you have at test like
clickAndWait link=Delete
assertConfirmation Are you Sure?
you should not modify the code. Indeed adding a waitFor test hangs execution in the case of javascript popups.
This solution involves line-by-line manual modification of the code. I have opened up an issue on the Selenium Users group to see if there is some better way to handle this problem.