WebdriverIO(Selenium or Appium) Chatbot Unavailable

I added the download link to the APK file you sent me to the chatbot configuration (https://github.com/sayom88/BotiumApp/raw/main/Expedia_base.apk). Now it starts up, but there is an issue with the Appium selectors. You can continue troubleshooting this in Perfecto.

Hello @Florian , thanks. I have now got hold of all the Appium selectors required to launch the chatbot in the Expedia app, but I am faced with a unique problem. Let me explain.
So in this app, in order to reach to the chatbot, following are the series of Appium selectors which needs to be provided one after another:
//[@resource-id=“com.expedia.bookings:id/button_next”]
//
[@resource-id=“com.expedia.bookings:id/button_next”]
//[@resource-id=“com.expedia.bookings:id/button_final”]
//
[@resource-id=“com.android.packageinstaller:id/permission_allow_button”]
//[@resource-id=“com.expedia.bookings:id/uds_toolbar_navigation_icon”]
//
[@resource-id=“com.expedia.bookings:id/chat_bot_fab”]

Now the challenge is in the Navigation Button Selectors, Botium is not accepting 2 similar Appium selectors one after other (the first 2 selectors).Botium Box

Can you please suggest how to fix this problem.

Also another thing to ask, is the Location of the App mandatory to give as I have already installed the app beforehand in this device?

Oh, that’s really a unique thing. This requires changes in the Box Mini validation rules, which we can only roll out with the next release (added it to the backlog).

For now, I suggest to add something in the Appium selectors to make them unique - the selectors allow Boolean statements, so I think just adding something like this would work to make them unique:

//*[@resource-id="com.expedia.bookings:id/button_next" and "val1"="val1"]

@Florian ok…let me try…but one to ask…is the Location of the App mandatory to give as I have already installed the app beforehand in this device? Can I not skip this?

to be honest, I have no idea how this is handled by the Perfectolabs cloud

Okie @Florian

In btwn I run what you have suggested, getting this error Botium Box

Hi @Florian , can you please take a look and suggest why, even though I am giving the proper Appium selectors, still Botium is throwing errors. Tnx.

Hi, sorry, I am out of advice here. This is something that requires a deep look into how the App is built and how it behaves on Appium clicks - Botium Box Mini is not built for this, you will need a full Botium Box trial for getting access to these logs.

Understand. Instead of Perfecto, can I run this setup in my local Appium server with my own device? If yes,what is the configuration I need to do in Botium.

Sure, in the Device Provider settings you can register your own Selenium Endpoint (has to be publicly accessible). But this again doesn’t really solve the problem that the verbose logs are not available in Box Mini.

Do you mind sharing any other apks then please where you guys have tested this feature before implementing the same?

You can find samples on Github: GitHub - codeforequity-at/botium-connector-webdriverio: Botium Connector for WebdriverIO scripts

Hi @Florian , okie thanks…will check on this.

Meanwhile I need one help from you on what kind of Botium Capability is there for the following features:

  1. Chatbot Test Automation
  2. Conversation Flow Testing
  3. Analytics Dashboard
  4. Non-functional Testing
  5. Voice Testing and E2E Testing
  6. Chatbot Technology support
  7. Sensitivity Testing
  8. Adversarial Robustness testing
  9. Test Optimization and coverage
  10. Data Quality Assessment or Static Testing
  11. Data Split Analytics
  12. Mobile Chatbot Support
  13. Test Data Generation
  14. Beyond ChatBots

Can you kindly help with this please.

Please head over to our Wiki to find the answers: https://botium.atlassian.net/wiki/spaces/BOTIUM/overview

Hi @Florian,
Hope you are doing fine… need one help wrt the Botium’s Codeless Test Automation capabilities for IBM Watson Assistant.
Currently I have setup an Watson Assistant workspace and following your tutorial 10 Minutes: Codeless Test Automation for IBM Watson Chatbots | by Florian Treml | Chatbots Magazine
In that, in the botium.json file
{
“botium”: {
“Capabilities”: {
“PROJECTNAME”: “whatever”,
“CONTAINERMODE”: “watson”,
“WATSON_USER”: “…”,
“WATSON_PASSWORD”: “…”,
“WATSON_WORKSPACE_ID”: “…”
}
}
}
I am unable to find the WATSON_USER and WATSON_PASSWORD. Sharing you the Details what I have.

Can you please suggest how to proceed with this please. Tnx.

User/Password authentication is outdated, use Api Key authentication instead: GitHub - codeforequity-at/botium-connector-watson: Botium Connector for IBM Watson Assistant https://www.botium.at

Hi @Florian tnx…
Now I want to validate the configuration by running Botium in “emulator”mode. Now my Botium is started with Mocha and not Botium CLI as I am having issues with the Botium CLI installation commands in my Win10 machine. Can you please suggest what is the equivalent mocha commands for :
a. > botium-cli emulator --config path/to/botium.json

b. botium-cli watsonimport watson-intents --config path/to/botium.json --convos path/to/directory/holding/test/cases

Mocha cannot do this. You need Botium CLI for this. We recommend using the docker version, as it can be rather hard to overcome dependency issues with the npm version.

Can you please share the installation and guidance details for using the docker version.

https://botium-docs.readthedocs.io/en/latest/04_usage/index.html#botium-cli-documentation