how do I check Outlook window using Ruby cucumber? - ruby

I am testing web application using Cucumber. There's certain link on the web page when clicked will trigger Microsoft Outlook to create an email to be sent to someone.
How do I switch from web browser to Outlook email window created from Outlook? Check the Subject? Check the To: (email recipient)? Close the email window, switch back to web browser and pass the Then test.
what sort of libraries and methods do I need to use?

This cannot be achieved with Selenium WebDriver/Capybara/Cucumber.
You can potentially use Outlook 365 (the online version of Outlook) to log in and automated your verification on the email. It's possible that you may run into captchas there though.
Personally I have emails delivered to a mailinator account. I check an inbox there to verify end-to-end email deliveries. This has worked for me. This allows for complete integration testing of frontend/backend/smtp components.

You can't do this with Capybara. I suggest checking the content of the mailto link.

Related

Listing All Emails in Inbox by Outlook Web Addin

I am able to get details of previewed email by this JavaScript command:
console.log(Office.context.mailbox.item);
But I need to list all emails in the inbox (not only previewed one) by using Office JS, is it possible, if so how can I do it? (Its also okay receiving details from specified ID or e-mail number, if possible.)
Thanks!
No, it is not possible. Office web add-ins work under the context of currently selected item in Outlook only. If you need to access other items in the user's mailbox I'd suggest using Graph API, see Outlook mail API overview and Authorize to Microsoft Graph with SSO for more information.
Also you don't forget that VSTO based add-ins allows dealing with all items in Outlook stores. See Walkthrough: Create your first VSTO Add-in for Outlook for more information.
Feature requests on Tech Community are considered, when the dev team go through the planning process. Use the github label: “Type: product feature request” at https://aka.ms/M365dev-suggestions .

Is it possible to submit Chrome extension for review without automatically publishing it using Chrome Webstore API?

Is it possible to submit Chrome extension for review without publishing it automatically using Chrome Webstore API? The publish endpoint submits the package for review and automatically publishes it after it had passed the review, but it is desirable to be able to manually publish the extension.
Basically, is it possible to achieve the same result as by unchecking the checkbox on the popup window seen on the screenshot? Submit for review confirmation window screenshot
Unfortunately this is impossible so far as you can see from the doc Publishing Docs. What you can do is to publish it just for a tester (closed group) and once you're sure publish to another time publicly. That way you can control it via the dashboard.

Outlook Web Add-in using REST API slow to refresh in Outlook for Windows

I am working on an Outlook add-in that uses the Outlook REST API extensively ... this works great in Outlook for the Web. It's very responsive and when I take an action against the REST API the UI updates almost instantaneously.
However, the same add-in when used in Outlook for Windows, has an extremely poor user experience. When I click a button to take an action, the action happens against the mailbox almost instantaneously (I can see it refresh in the web client open at the same time) but it can take 5-10 seconds before the UI on the full Outlook client updates.
Is there anything I can do to force the Outlook client to refresh the same way as Outlook web client or is this just a deficiency of the full Outlook?
Update:
I've created a side-by-side video of the full client and web client showing what I mean - https://www.youtube.com/watch?v=RGEskXTt7S4
By default the rich native Outlook client uses Cached Exchange Mode for a better overall user experience. This means that the rich native client relies on a local cache which gets updated periodically. The online/web client, however, is always online. Since you are making a REST call to the server, the web client will pick up the changes faster. After a few seconds, those changes will be pulled to the native client. There are also other differences between the rich client and the web client that could contribute in the delay you are experiencing. This delay will be observed for almost any REST call to make changes to the mailbox.
One way to address this issue is an Outlook add-in API which acts directly on the client. Unfortunately, we don't have such an API. We have a UserVoice page for tracking Outlook add-in feature requests. Please add a request there. Feature requests on UserVoice are considered when we go through our planning process.

How to force the gmail inbox to reload/refresh?

I have built an application that uses the import endpoint in the Gmail API Gmail.Users.Messages.import() to clone an email message but allow for subject changing.
It then deletes the original/old message using the remove endpoint Gmail.Users.Messages.remove()
I would like a way to refresh the Gmail inbox UI or even to just reload the web page from Google Apps Script - however, I'm not aware of how to do this - and a look around the internet hasn't proven especially helpful.
Unfortunately it's not possible to control the user's Gmail interface via an API (or add-on). The best your application could do is instruct the user to do it themselves.

How can I trigger an email+attachment from the browser?

This is for a company intranet app, so everyone is using firefox on XP and I can install whatever is needed.
We'd like to setup an email with a pre-made subject and attachment (similar to using mailto), but the mailto spec doesn't allow attachments.
Any ideas how it can be done? Perhaps using a ff extension?
update: The file is a network file at the company.
update: A good deal of customisation happens in each users outlook, signatures etc. that we'd like to keep.
You're probably much better off providing a form for the users to fill out and and doing the email from the web server. That will give you the most flexibility.

Resources