I have a set of Selenium WebDriver tests that work okay on three different machines; unfortunately, they don't seem to work consistently on a mentor's machine. I'm not sure if I coded the WebDriverWait conditions poorly, or if there is just something odd with my mentor's machine.
I need a consistent environment to run the unit tests in that is friendly for all developers on my team. We have a few test servers at our disposal, but some of our developers prefer to work on local boxes. Most of our developers should have access to Azure Devops, but they tend to prefer to use an in-house solution for CM.
Is there a way for me force my unit tests to run in Azure without having to setup a CI/CD pipeline? If I do that, will the Visual Studio subscribers on my team incur billing charges from Microsoft each time they run my unit tests?
NOTEs:
I can probably setup a CI/CD pipeline for our own in-house CM solution to run the unit tests, but our in-house CM solution is not necessarily Microsoft friendly and my organization's slot for a CI/CD expert is currently empty
I didn't readily notice how to run unit tests in Azure without CI/CD during Bing and Google searches
I'm afraid the answer is NO. The Azure Pipelines supports automatically build and test of code projects to make them available to others. It works with just about any language or project type. Azure Pipelines combines continuous integration (CI) and continuous delivery (CD) to constantly and consistently test and build your code and ship it to any target. I don't see other tools in Azure to run unit tests in Azure without pipeline.
Related
I have got a microsoft bot build using the botframework-sdk in python. It is deployed on Azure and interacted with using the teams channel. I had set up github continuous deployment but it takes around 10 minutes to just deploy it. Since, I can't test my code in emulator as it doesn't support lot of things done on teams, I have to deploy it every time I make a little code change. Is there a way to speed up the deployment?
Thanks for your time.
We have a Canvas Power App which connects to a SharePoint Data Source. We also have multiple Power Automate Flows that manipulate this same data after certain triggers (when created, when updated, etc). None of these components are in a Power Apps solution.
After reading about the benefits of Solutions in the Power Platform, my question is this:
If I was to create a new Power Apps Solution and then import both the pre-existing Canvas App and the Power Automate Flows, can I expect the solution to continue to function correctly?
What potential issues might I run into?
For context, both the Canvas app and the workflows are used daily by staff.
ALM improvements are really good these days wrt Power Platform, especially for Canvas apps and PA Cloud flows. They are continuously improving as well.
Notable improvements are Connections, Connection references, Environmental variables and the Solutions can include the Flows, Canvas apps like any other Dataverse/Dynamics CRM components.
Definitely some will break after deployment in target environment and it really depends on your customizations and development strategies. I’m not sure how this was deployed in target environment in first place, they were exported and imported as packages probably.
So I recommend you to dry run / test the deployment thoroughly using solution from source to another target sandbox environment before doing deployment to real Prod environment with users actively using them.
As a beginner, I'm researching towards whether is it possible to run automated test scripts of Coded UI in Headless mode for Azure DevOps CI/CD pipeline.
My intention is to automate UI of Desktop Applications. Along with this, I have concerned about MS Winapp Driver as well but it was concluded that, Coded UI is the ideal tool for my objective.
Researches Done:
1.) Created a Coded UI project and run a test scenario through Visual Studio - Successful
2.) Run the same scenario (C# file) using command prompt (using MSTest switches) - Successful
It will be highly appreciable, if one can come up with some best solution(s) or sample project.
According to this link(UI testing considerations), you can not use Headless for Desktop app.
if you are running UI tests for desktop apps, Windows agents must be configured to run as an interactive process with auto-logon enabled
I am looking to automate the deployment process for CRM between different Environments eg.Development Env, Test Env and UAT.
I am wondering if there is existing tools(s) available on market to automate the deployment for me?
If NO, Is it possible to automate the CRM deployment between different environments and what is the best practics for doing that?
Thanks
Where I work we are currently working with the exact same issue. I spend quite some time initially looking for of-the-shelves products that could help us, but I have not found anything promising. Therefore we have undertaken the task ourselves.
Some guys from Microsoft made a short "whitepaper" on the subject which I found quite helpful. It can be found here at Deploying Microsoft Dynamics CRM 2011 and CRM Online Solutions from Development through Test and Production Environments.
I will not claim that we are using "best" practices, but we have chosen to try and script everything in PowerShell or through .net based CmdLets in our own PS-module. CRM server comes with a PowerShell snap-in that sports some basic functionality for creating/removing organizations, but you are more or less on your own when it comes to actually "deploying" CRM-customization, configuration data, users etc.
It would be interesting to know, which approach you choose (if any)? And if you have any specific question, please don't hesitate to ask!
How about this?
The xRM CI Framework is a set of tools that allows you to quickly and easily implement Continuous Integration for your Dynamics CRM solutions.
PowerShell and the XRMCI framework will serve you well for solution deployments, the downside being that for Standing or configuration data that cant be added to a solution (or for solution items that are currently buggy in CRM 2015 e.g. Case Creation Rules, SLA Items etc.). In this case, my client and I have created powershell C# CmdLets that use the SDK and API to create standing data such as Users, Teams, Memberships, Queue's, Case Creation Rules (although its unsupported, the API does allow it), and to configure mailboxes etc.
So in combination, the XRMCI framework, C#, and PowerShell can be used to automate a deployment of one environment to the next. The key is to take it slow, manually execute the scripts to begin with and build trust in the process, tweak and add more elements. Once that trust is achieved, move onto integrating it with TFS in as a CI/CD process.
As for best practice, my own research suggests that this is still a "he/she who dares" area with no real "best practice", in time the players such as Chef, Puppet, Octopus and Microsoft (with DSC) will contribute, but for now....
Microsoft are pushing their ALM (Application Lifecycle Management) tools such as TFS very hard but often gloss over the fact that major features are only available for managed (.Net) code. eg: Intellitrace is c# and VB-only
Are there any benefits to using Lab Management with a pure native application?
We have two major apps, one with a Java UI and the other MFC. There have been suggestions that the Lab Manager will be broadly rolled-out in the company but I have strong doubts that we will gain anything.
According to this March 2011 table of test automation support, Java is not supported and MFC only for basic controls.
[edit] Prior to the latest vNext release, we couldn't use their TestManager for unit tests unless we wrap our C++ code in .Net layers with C++/CLI unit tests.
So it seems that none of the various ways of testing code can be used for our apps.
Absolutely! Lab Management could help out quite a bit for all sorts of non-.NET applications. It's great for setting up development or test environments made up of multiple machines. You can use the data collectors with Microsoft Test Managers to collect rich data from each of the machines in your environments when you are running test cases or performing exploratory testing. Whenever you find a bug, you can file a bug and each of the data collectors on each of the machines in the environment under test will be queried and attached to a pretty nice bug report for you. You can snapshot, rollback, etc. You can automate test runs and deployments of builds to environments.
You can use Lab Management even with shared or dedicated environments per testers. If your environments require it, you could even use network isolation between the environments to make sure clones of the environments don't cause problems with other clones.
Lab Management also helps if you need to test your apps against multiple configurations. Imagine you need to test your MFC or Java app on Windows XP, Vista, Server 2003, etc. You could spin up individual environments with the different configurations and test against each of them appropriately. Microsoft Test Manager can keep track of pass/fail results for your test cases in each of those configurations as well.
You're absolutely right though. Certain data collectors that come out of the box won't work well or not at all with non-.NET applications. However, the data collector system is completely extensible. If there is something you want to automatically gather, you can create your own custom data collector for use in Lab Management.
There's a lot you can take advantage in Lab Management with testing against non-.NET applications.
Unit tests for native C++ are supported in Visual Studio 11 so there is no need for wrappers. see this article. http://msdn.microsoft.com/en-us/library/hh270864(v=VS.110).aspx