How can I test Amazon Alexa apps with multiple users? - alexa

I've been developing an Alexa skill and I need to keep some state between requests on a per-user basis. I'm using the flask-ask framework and it works well with a single user, but clearly I need to test with multiple users, preferably in a simulated environment at first so I can hammer it with multiple requests for multiple users. I don't consider the app ready to go to beta testing yet.
I've scoured the web for this but I can't seem to find an answer; short of setting up multiple Amazon accounts, is there an easy way to test a development skill for multiple users in a simulated environment?

Currently we doesnt have feature to test with multiple user in simulated environment in development environment. In addition, the simulator is not supported for use in multiple browser tabs at the same time. Rather you can use simulator, voice using an Alexa-enabled device linked to developer account, ASK CLI or Use the skill testing features of the Skill Management API simultaneously to test as multiple users. for more details please refer documentation .
Hope this Helps you

Related

Firebase - Add many apps to one project

This is the first time i'm working with firebase. My goal is to have a bounch of client apps (more and more over time), all of them managed by an admin app (One app to rule them all).
The thing is that the client apps have a certain content that needs to be updated from the admin app. My best approach is to create a firebase project, put the admin app there and adding client apps over time. I'have read that is possible to have an unlimited number of apps inside one Firebase project. On addition, someone told me to create one project for each client app and connect them to the same database somehow. I simply don't know what to do.
Which would be the best solution for my problem? thank you
firebaser here
A Firebase project can currently contain up to 30 app definitions. This is meant to support variations of the same logical application. For example, having an Admin app in addition to the app for regular users, and/or having an iOS, Android, and Web version of the same app, and for example having a free and a pro version of the app (if that is allowed by the stores where you deliver them).
Adding multiple apps to a project is expressly not meant to be used for white labeling apps, where you ship essentially the same app with different branding to different user segments, as you'd be sharing the backend services between them. For some backend services (such as database and storage) this is not necessarily a problem, as you can isolate the customers with security rules. But for other services (such as authentication and analytics) this is not possible, which is why this use-case is not supported.
If you need to define a separate app in the project for each customer, the only supported approach is to create a separate project for each customer.
I'have read that is possible to have an unlimited number of apps inside one Firebase project.
In that case please provide a link, so we can either fix it, or (if it's not in the Firebase documentation) leave a comment to clarify.

Virtual devices for testing alexa smart home skill

I am working on Amazon smart home skill for controlling the smart home appliances. I am done with creating a skill for that. Now I want to test my skill with any type of virtual device. Is there any way (or virtual devices) for testing the smart home skill without using the physical device.
There's 2 options I use for testing without having physical hardware in front of me.
While editing the skill in the developer console (developer.amazon.com) there's a 'Test' tab that allows you to test out your skill and see payloads sent/returned too.
There's also a cool online tool called Echoism (https://echosim.io/welcome) that will allow you to log into your Amazon account and interact with Alexa through the browser. To use this you'll need to make sure tests are enabled for the skill through the developer console in your account.
There are also some libraries depending on what language you're writing in that will allow you to test locally without having to deploy to lambda first. If you're using Node.js try out node-lambda (https://www.npmjs.com/package/node-lambda). You can create your own payload and test that against your skill locally. You can also package up your skill, test it and then deploy to lambda via terminal. If you're using Python then try out PythonLambda (https://github.com/nficano/python-lambda). It has the same features as node-lambda.

Salesforce: is it possible to develop a web application on top of Salesforce

Let me start with a bit of background: I'm helping a non-profit organization that would like to have a browser-based application that is backed by Salesforce, but has very specific requirements.
I see Salesforce has a REST API that we can call, so we can develop a standalone application to serve the web pages they want and use the REST API to call Salesforce when needed.
I'm wondering if there is a way to host a web application directly on Salesforce; this way we don't have to have a separate application server. Any recommendations or pointers to documentation/open source products is greatly appreciated.
Yes, you can create services that will allow your app to hit Salesforce
Depending on the type of application, yes you can host it on salesforce using the Salesforce Sites feature, also you can develop and host your app on Heroku which is owned by salesforce and can sync data to and from salesforce using Heroku Connect, or you can build and host it on another service like AWS and connect via the REST API. You just need to investigate and choose the option that best fits your use-case. One thing to be aware of is that there are API limits (the number of calls you can make to salesforce in a rolling 24hr period). Depending the the needs of the app be sure to see if those limits will be an issue. Because if the app makes constant calls to salesforce that could be an issue. But there are things you can do to get around that, like caching.
Yes, both Force.com Sites and Site.com features allow you to host webpages on the Force.com Platform. The markup is stored in Visualforce Pages and can use Apex to access records in the Database. I have migrated multiple websites (including our company's www.mkpartners.com) to Force.com using Force.com Sites.
One thing to keep in mind is that you are limited to 500,000 views per month and the rendering of a page with images that are also stored on the platform will incur a single view for the page and a single view for each image. If you already have a very popular website, I wouldn't migrate. If you're a small business or nonprofit, then it should be fine.
Another thing to keep in mind is that dynamic functionality based on records in the database will not work during maintenance windows. There is the ability to upload a static version of your website to be rendered during these windows though.

Deploying or publishing Alexa skills

It's my first few hours today to use Alexa so please bear with me for now.
I followed a tutorial that I found and was able to configure Alexa skills upto the Lamdba function. I was able to use the Test section inside Lamdba service and it worked really well. It can pull data from the external api. I was able to click the Listen button too.
However, I can't figure out how I will deploy this so that I can call the utterances using my real physical Alexa device. Not sure what to do next. And is it possible that I'll be the only one to use it?
You don't have to publish it to use it on your physical alexa device. As long as the alexa device is configured with the same Amazon account that you use to configure your skill then you can use the skill 'live' on your device.
In the configuration, I believe you must have progressed to the 'test' tab, but you don't need to fill in the publishing info to test the skill both virtually and on the device.

Can you import Selenium Web driver into the Google App Engin

I am sort of new to app development, so this may sound like a stupid question. The company I am working with is trying to get ride of most of there IT infrastructure, so that they don't need any more servers. I have been asked to develop a program that takes information from a google spreadsheet and then with this information puts it into a web browser. I am Planning on using Phyton and selenium web driver. Will I be able to install selenium if i host the application as a Google app engine?
The Reason I want/need to use selenium web driver is because I need to put the information from google into a legacy system. The only way to put information in the system is to mimic a user putting the information in manual in a web browser.
Thank you,
Kai
I don't understand what you think Selenium will be doing here. It seems a very strange way to want to get information from one Google property into another.
Google spreadsheets have a perfectly good API that allows you to read the data from your app and display it to users.
Edit after question update Well, now I don't see what you need GAE for. That is for hosting and running websites, and you only seem to want to enter data into an existing website. That's not what it does at all.

Resources