Automated UI testing in CRM 2013 - dynamics-crm-2013

We're attempting to set up automated UI testing for our CRM 2013 development. We've attempted to use both CodedUI and Selenium but they both struggle to get references to elements on the forms. Especially the Site Map.
Has anyone had any luck with automated UI testing in CRM 2013? We'd prefer to use CodedUI.

I'm currently on a project where we use CodedUI with CRM 2011 and I must say that they seem to bite each other. Finding controls/ui-elements is very slow and unstable (having different results after repeating the same tests a couple of times, sometimes finding and sometimes not finding the same buttons, etc). When you dive into the html-source we also notice that CRM does not even guarantee that the id-attribute of elements is unique, and even when they are CodedUI is still not always able to find the element.
We are now fiddling with the SearchProperties and tweaking the PlaybackSettings to get reasonable stable results, but if tests work they run very, very slow. I do hope to see some magic solution for this problem but unfortunately I cannot provide any more advise than just to define the Search- and FilterProperties very tight by hand and increasing control lookup timeouts to ensure controls are found and accept very slow run-speeds.

QTP works well with it. My colleague tested few scenarios

We can automate CRM 2013 UI using CodedUI and any ui scenario can be automated which includes all the scenarios like Sitemap, Lookup, Datetime, Assign, Entity Navigation and related entities and also there is a way too to do Data Driven Testing as well as CSV or Excel or SQL database as source. If you could include CRM 2013 sdk to validate data and controls types that would be much better and easy. I could able to automate both CRM 2011 and CRM 2013 using single code base on condition CRM version 5 or 6. The only thing which I could not able to automate compared to CRM 2011 is CCA/CCD Vs USD.
Coming to your question for automating the sitemap. First mouse hover the main "Microsoft Dynamics CRM" TAB and then Click Service/Settings/Sales/... similarly the same way for other tabs.

Validate that you're getting the correct element ids by checking through Developer Tools.

Related

Can you automate tasks in Microsoft Dynamics Navision? Write VBA script like Excel?

It's pretty straight forward. I want to do something along the lines of writing VBA scripts for Excel, only for Navision. So far I can't even seem to find many shortcuts or set default options in Navision. Considering all the repetitive tasks my employer asks of me, this post could be seen as a rant.
At my last job, we didn't have any fancy Navision. This was a blessing in disguise for a clever SOB like my self. I griped about their lack of technological implementation then grudgingly implemented the tools I needed myself, flying under the radar and looking like a speed demon and analytical wizard.
Now, everything is set out for me and I hate it. NAV is an extremely bloated, cumbersum program. How can I make repetitive tasks faster and easier? How can I make it better for MY tasks?
Well, there's good news and bad news, as always. The good news is that routine tasks can be automated, but the bad news is - it is not as simple and straightforward as writing Excel macros.
First and most common option of extending functionality is to develop new application objects specifically for the customer. Nav application code is written in its internal language - C/AL, and it's fully extendable. But writing C/AL code requires a developer's license (which is quite expensive) and good understanding of the system's structure. Usually, customers prefer outsourcing these tasks to MS partners rather then buy a dev license and keep an on-site developer.
If the version you are using is 2009 and higher, there's a second option - probably the best for an experienced Excel user. You can publish any Nav page as a web service and read the data into Excel through the web service. Here is a short "walkthrough": Viewing page data in Excel. After publishing pages you need, you can apply your Excel tools to the data.
If the version is 2013 R2 or 2015, some Powershell extension cmdlets are available. These are mostly for administrative tasks, but some of them can be handy in making your job easier. In particular, Invoke-NAVCodeunit that can run a codeunit or a codeunit method from outside the system.
It depends:
If the tasks you want to automate are transactional in nature (capturing stock movement, customer payments etc) then you need to look at the C/AL programming, or getting your MS partner to do the C/Al programming for you.
If the tasks are updating master data (customer groups, item categories etc), then you could use SQL to do the updating. Again, as Alexander says this requires a good understanding of the underlying tables, and if you make a mistake with an SQL update you can really break the system.
If the tasks are admin related (updating which dates users can post to each morning etc) then an SQL stored procedure that runs on a schedule is the quickest and easiest solution.

Connecting to existing database to make ASP tables

I am taking a hand in development for the first time and trying to teach myself some things, and chose to start with ASP and Visual Studio. I have a rather simple question to ask... I generally search and search and search... but I don't know what the proper term/phrase is for what I'm searching for.
Assumptions: Visual Studio 2013 (not express), asp.net mvc5 with bootstrap(3.1.1) is what I'll be using.
Two part question: what is the phrase/term to use when searching for an answer to part two? data grid? data fill? something else?
The second part of my question is what are the most commonly used methods of creating and filling a table with data from an existing database? Do people almost always just have to hand code everything or are there great tools out there?
So far I only found...igniteUI and I haven't actually read the website to see what it's about yet. I want to be able to design something... maybe using bootstrap or boilerplate.. and then create tables and fill them with tables. I've only ever made static sites. Anything that has some kind of GUI that lets me build these tables and and direct certain data types to specific table columns and rows would be a major plus, as I could compare what I just did with the code that was created... and then I could learn to make cleaned up handcoded versions myself. this is how I learned web design, I figured I could learn SOME parts of development the same way.
As I said above, the reason I am asking this question is because I do not know what any of the proper term(s) for what I'm describing and wasn't sure where to start.
Welcome to SO.. kind of a loaded question and somewhat opinionated, but I have 2 spare cents I can offer.
In the end, it depends what data you are trying to present, and what you want that user to do with that data. With HTML, anyone can create a simple table and present some data (aka TR and TD tags). What's this good for? Showing tabular data. What's this not good for? Anything interactive...
OK, so then what do we use instead? Again.. depends what you're trying to allow the user to use, AND if you have any existing resources in place. For example, jqGrid is your front runner in late bound, jquery enabled sortable\editable data presentation. ExtJS is also a popular scripting library, and they have some tools as well.
But that's late bound, javascript enabled stuff.. what about things that are already bundled into ASP.NET? Well, you have the gridview and listview at your disposal. Both are nice because they allow some quick and easy ways to connect to structured data, and if you're using some of the more popular data stores, such as SQL server, you even get drag\droppable connections (aka, less coding). Telerik has been in the game a long time, and for some cash, you can get some pretty advanced tools.
Again, all opinionated stuff. ASP.NET has some very nice things out of box, but nothing is perfect.. all of the items mentioned above I have used at one time or another, and they've been a great foundation for starting my applications. But at the end of the day, I always had to take what was given to me and add\edit functionality to get what I ultimately needed.
Hope this helps...

Possible to get Sharepoint 2010 working with IE6?

I work for a fairly large government organization where about 60% of the users are still on IE6. Microsoft is very clear that IE6 is not compatible with Sharepoint 2010, but as a quick fix until we can upgrade people to IE8, I'd like to see if there is a way to make some changes to get it working with IE6.
Does anyone know if this has been done by anyone? Any suggestions on where to look/start?
Check out this, although I won't recommend it:
https://sharepoint.stackexchange.com/questions/4534/how-to-make-sharepoint-2010-page-compatible-in-ie-6-0
http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/3b14dbd5-147a-4a38-b1b6-7e1b33d94319/
I would use this situation as a hard reason why your company needs to go ahead and make the switch to a newer browser. Often in large organizations, they don't upgrade because they simply don't need to and they wait for a scenario in which it's required. In this case, they need to and so I'd use it as the excuse to get that ball rolling.
Instead of hacking up SharePoint 2010 to work with IE6, which is a solid waste of effort, I've spent time building custom controls to warn IE6 users that their browser won't work on the site. You're better off not spending a lot of time and money to customize SharePoint to work on a browser that's 10 years old, not supported by the product, and that you'll be replacing anyway.

SQL Server 2005 Reporting Services - Pros and Cons

I am developing a web application using ASP .NET 2.0, VS 2008 and SQL Server 2005. I would like to Use SSRS 2005 for the various reports I need to build for this web application. I would like to convince the team that we should adopt SSRS as the main reporting platform for most internal and external web applications we have.
What are the pros and cons of Reporting Services? I can see many pros like tight integration with IIS, SQL Server and Visual Studio, rich presentation features and export functionality, subscription etc so I am mainly interested in negatives of SSRS.
EDIT: I understand that if I am not using VS 2005 for my application development, I will be using different Visual Studio versions for application and report development. However, I am more interested in negatives (or not so good aspects) of SSRS itself.
I know you said 2005, but I will put in notes around 2008 as well.
SRS Pros:
- It is free (provided you have the SQL server license)
- Tight data integration with SQL Server, but it handles anything .NET can (Oracle, ODBC etc...) just fine. (2008 has native support for Terradata too)
- Components for Visual Studio, SharePoint and PerformancePoint all exist to make it easy to leverage it. It is just a web app though so integration into any web page or app that can talk to a web server is easy too.
- Built in tools to do subscriptions (i.e. emails that get sent out on a regular basis to a list of people with the report on them). The list of recipients can be static people or a sharepoint site or a dynamic list of people (pulled from a DB) (08 adds support for dynamic to sharepoint too)
- 3rd party vendors exist to enhance the product
- Export to a variety of formats (XML, CSV, Excel, PDF etc...)
- Ability to design templates which power users can use to build reports without knowing SQL (since the SQL is contained in the template). Power users use a special report builder tool which is delivered via click once.
- Works differently to Crystal reports (I don't like Crystal thats why this is a pro for me)
SRS Cons:
- Charting controls look like Excel 2003 and are limited. (2008 has the Dundas controls in by default so they are much more powerful, more varied and better looking)
- Kerberos issues due to it being a web app can cause annoying problems (2008 removes that as it is no longer an IIS web app. It runs it's own web server based off the IIS core but is closer to a stand alone app - so the security issues aren't a problem)
- Designer support is a pain. 2000 Reports must be developed in VS 2003, 2005 reports must be developed in VS 2005, 2008 reports must be developed in VS 2008. By Visual Studio I mean the normal one or the thin downed version you get with the SQL Management tools.
- Compatibility. Each version of reporting services can run only the current version and one version back of the reports.
- Security is limited to Integrated Windows or Anonymous (2008 has added support for forms based security and for custom providers, like you get with ASP.NET)
One of the Cons I see with your setup, is you will have to use Visual Studio 2005 for your reporting project since you are using SSRS 2005.
Since it looks like you are using Visual Studio 2008 for your other development, this means having both versions installed and having to have both open and running most the time.
I'm in the same situation and it is a hassle, but one I've gotten used to.
EDIT:
Some of the other Cons I've run across are usually designer related. They may have been fixed in 2008 (don't know for sure), but I attribute them to the infancy of SSRS compared to other more mature reporting solutions.
Datasets changing to Text even though you set them to Stored Procedure every time you enter the data tab
Web Service datasets losing their parameters when changing the query
The expression editor is very dumbed-down. Its slightly better than using notepad.
The CONS:
Rendering might be different in Firefox or other browsers. When using SSRS ReportViewer on an ASP.NET page, just make sure to verify the look/feel/layout of the report when rendered on browsers other than IE.
One con is that with SSRS, there are so many options available to the developer that it could be confusing at first. I am talking more about whether to use Local Reports or Server Reports, whether to put code inside code modules, in reusable assemblies, or use reusable Managed Code (C#) Stored Procedures.
The biggest con I could think of in SSRS is that the code module is very basic. No intellisense and no debugging features. Also it would be great if SSRS scripting supported C# instead of just VB.NET.
While expressions are great, the problem is there is no single container/place which allows you to see all the expressions defined in a report. This could present a maintenance nightmare down the road.
That said, SSRS is a powerful tool in the hands of a seasoned developer.
Pros:
Free
Probably better tied to MS SQL than most others
Works well for most types of reporting
Cons:
Free; Support access isn't like Crystal
Doesn't have every feature other, older competitors have. Being a newer piece of software, it is still getting new functionality that other products like Crystal Reports has had for years.
I often end up running reports in whatever way they're easiest. Lately I built my own web based interface that drives any combination of PDF/HTML/Crystal/SRSS reports and delivers them. Often Crystal will do some in 2 steps, or SRSS does something else better. If I had to pick one right now as a go-to for all scenarios I'd probably pick Crystal. The more I use SRSS being a few years old and still in active feature development (catching up to products like Crystal), I can see it being used a lot more... not quite yet though.
I find SSRS is very Robust and provides a very large range of capabilities to suit your reporting needs. I have tried others (Crystal) and did not like it nearly as much. (This could just be personal taste though).
Even for a beginner, SSRS has many wizards which will get you the results you desire and for the experienced developer, you can fine tune your reports with drill-throughs, colors, coding, etc.
I honestly have nothing bad to say about SSRS. The one downside that Dustin pointed out is that your VS version and SQL version are different. I have an app that is in VS2005, but uses a SQL 2000 backend and I have to have my reports separate in a VS2003 project to get them to work properly.
In order to better provide an analysis, it would be easier to if we new what alternative you are considering. For example, if it's SSRS vs nothing then the argument is simple, likewise SSRS vs bespoke reports (eg. ASP.NET). However, if you have other reporting tools under consideration, e.g. Crystal then we can be a bit more critical. Also, what kind of reports are you planning, and what features do you ideally need.
Regardless, I'd largely agree with the other posters. SSRS is free & very capable. Other systems might have extra bells & whistles, but would these be issues that mattered, and are prepared for the costs?
I suppose, given that SSRS is free and easy enough to setup, my suggestion would be to run a trial; you'll probably be able to make your own mind up through a bit of experimentation - you've got nothing to lose!
SSRS is amazingly simple to use. We've had interns writing reports the first day on the job with SSRS, and doing a good job at in.
That simplicity goes a long way with developers who just want to get reports done quick so they can get back to actual coding.
Correct me if i'm wrong but SSRS does not use Forms Authentication. For viewing reports from a web app using the built-in components will use what ever authentication is used for the application. However for subscription and using the Report Builder application (click-once) which requires access to the Report Manager its windows authentication.
[Edit] From Robert MacLean - MSSQL 2008 does support Forms Authentication, which is a good thing.
The main problem I had was setting up Reportserver in a stage/production web-environment.
I had to get the reports out of the Reportserver Webservice into the web application. The environment looks pretty simple now, but I remember at that time it was difficult to debug.
An other issue was multilanguage reports. Again: now its easy to use, but be prepared to do some googling.
The designer is crap. Who knows what =First(Fields!Sales.Value,"DataSet1") means? I also had issues with the size of reports (the report was designed to fit on a A4 page but at the end didnt).
I still like the product. After some time I got everything solved and our trainee can design and publish great reports.
SSRS 2005
Pro integrated in Sharepoint
Cons integration in Sharepoint could be a mess to set up using Kerberos etc...
I will only put some cons here as most people have already mentioned the benefits.
SSRS 2008:
Primitive user interface
little flexibility to do fancy stuff i.e. flashy charts, geo maps (w/o lat long)
user interaction is only limited to applying filters, rest is pretty static
MS seriously has to re-think what competitors are doing in the field of BI & Data visualisation.

What is your reporting tool of choice? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
Every project invariably needs some type of reporting functionality. From a foreach loop in your language of choice to a full blow BI platform.
To get the job done what tools, widgets, platforms has the group used with success, frustration and failure?
For knocking out fairly "run of the mill" reports, SQL Reporting Services is really quite impressive.
For complicated analysis, loading the data (maybe pre-aggregated) into an Excel Pivot table is usually adequate for most users.
I've found you can spend a lot of time (and money) building a comprehensive "ad-hoc" reporting suite and after the first month or two of "wow factor", 99% of the reports generated will be the same report with minor differences in a fixed set of parameters.
Don't accept when a user says they want "ad-hoc" reports without specifying what goals and targets their looking for. They are just fishing and they need to actually spend as much time on THINKING about THEIR reporting requirements as YOU would have to spend BUILDING their solution.
I've spent too much time building the "the system that can report everything" and for it to become out of date or out of favour before it was finished. Much better to get the quick wins out of the way as quick as possible and then spend time "systemising" the most important reports.
For most reports we use BIRT.
I've used Reporting Services and Crystal fairly extensively, and I'm writing a few reports using Excel(ick) at the moment.
Reporting Services is pretty good for simple reports but as soon as you need total control over formatting,complex formulas and charts etc. Crystal is a long way ahead. I also find Crystal to be far more usable; being able to change things within the report preview is invaluable (it may be possible in later versions of RS?).
RS also needs to be deployed to a web server which limits it's usefulness if you are writing applications that need to be deployed externally.
Older versions of Crystal were very buggy but the latest ones are much better, it's much more mature than Reporting Services.
For a lot of projects we use ActiveReports.
I am a committer on the BIRT project, so I am biased. BIRT provides a very well thought out report object model (ROM) and appropriate API for the various design and deploy function that is needed. In addition, BIRT provides the best multi-language support and the ability to separate development from design through the use of CSS.
BIRT can be embedded into your application for no license cost through the REAPI or it can be purchased through a couple of commercial offerings.
Cognos is a robust suite of tools (we use it as a front-end for an Oracle back-end), but there's a pronounced lack of documentation on how to accomplish complex reporting tasks -- mostly, you end up banging on it until you get something to work.
I wouldn't discount the usefulness of using Microsoft Access as a reporting front-end. It doesn't have that useful Web-enabled functionality, but for in-house reports it's very versatile and surprisingly powerful.
We use i-net Clear Reports for our reporting (seeing as how we "eat our own dog food"). ;)
It is like Crystal Reports,
can read Crystal Reports templates,
the API is more useful,
costs less than Crystal Reports (and if you factor in support costs, costs less than open source)
is platform independent because written in Java.
we offer a free and fully functional report designer
If you have all the money in the world, go with Cognos. They provide a data cube that essentially makes the reporting "developer free" and the end user can create reports, dashboards, anything they like.
For the "common man", I've grown quite fond of the ComponentOne reports for .NET library/tools. It has a similar feel to Crystal Reports, but has a very friendly XML format that you and edit under the hood and none of the headaches with versioning, keys, and other items that I've had to deal with when making simple updates to either the report or the underlying version.
I don't really have much SSAS work to do but I've been quite taken with this:
Cube Browser for ASP.net
It offers many of the capabilities of an excel pivot table in a web app, (thought I'm not enough of an expert on Excel to really know the whole of the pivot table's capabilities - it at least looks comparable to visual studio's cube browser).
Unfortunately the demos don't seem to be online anymore :(
I would have to agree, I really like SQL Server Reporting Services. It just does stuff, and does it easily.
Crystal Reports, because it is easy to take the same exact report file and
1 - Post it on the intranet
2 - Embed it in an application
3 - Schedule it to be emailed as an Excel output every so often to whoever needs it
Also (as I already suggested), it exports easily to Excel, PDF, and other formats.
We've been using BIRT which had a steep learning curve for me until I realized how many WYSIWIG features it had (I started editing the xml source code direct, which I don't recommend.) There are some output specific tricks (like using a 0 left margin to not get a blank A column when outputting to XLS format) but for the most part it's quick and easy to use, edit and preview.
I have also been impressed on how easy it is to intermix different datasets in a single report. While not a silver bullet, its a better all around tool than 99.999% of people are going to build on their own.
"Give them data and they will love you for it"
Out of the methods and tools I've used in the past, I would rank them in the following order based on abilities/versatility/usability/speed to deploy. I'm leaving cost out of it because while it is always a factor it is a different factor for everyone.
1 is Cognos (version 8)
2 is SQL Server Reporting
3 is Crystal Reports
4 is Custom written code
I haven't used any of the other tools mentioned. Cognos 8 is nothing short of awesome. While pricey, you are only limited by your imagination. It can do anything.
This isn't so much a positive suggestion, but more of a cautionary tale against crystal reports... As with other people, getting the right version of the crystal runtime is important, but having done that, I still had this problem:
Spent weeks developing reports that had embedded images.
Tested on dev and staging environment, all A-OK.
Deploy to live server - doesn't work... Hmmm...
Spent two weeks trawling forums and looking for advice, eventually got a response from a crystal body on their forums. Suggested that he had seen a similar problem to do with MS Paint being set up as the default application for a certain file extension.
At this point, we gave up trying (after I convinced my boss that this wasn't a take the piss answer, but actually a formal response from Crystal). Handily we were migrating to new servers about a month later (where the reports worked), but honestly, wouldn't touch them again...
Oh, and have used SSRS and found it to be pretty good for most things (particularly the most recent version).
Tableau software is an amazing tool to run your reports and get easily deep throught analysis
For simple reports I use the standard ReportViewer included in Visual Studio.
For more complicated reports and ones that require more performance I've used both Report Sharp Shooter and devExpress XtraReports. Surprisingly, in both products creating tables isn't as easy as it should but both are faster than ReportViewer and handle extremely well multi-column reports, barcodes and aggregate data.
We use Cognos, it's a fairly complex system, but very powerful.
i have a small reporting set, made in 2 months:
at least 10 times faster than crystal reports;
easy editing;
.net formula;
easy usage;
small code usage;
serialization and deserialization(fast and small);
extreme security;
multi threaded;
no errors;
We had used MS Reporting Services, but we was completely unhappy with it.
Reasons:
it is needed to make difficult configuration of server
it is not possible to embed report editor into our app without buying SQL server license for every user
it is possible only to use embedded report parameters input form UI or send them from app, but not to create parameters UI by report designer
Now we a using Stimulsoft Reports. It have no such limitations like MS Reporting Services, and we and your users are happy with it.
1) I would think Reporting Services is very good for most of the needs, when in comes to developing table based reports and also matrix reports (drilldown - pivot like functionality).Considering the price of Cognos etc. An SME can't even dream of getting Congns AFAIK
2) Report Scheduling / Subscription functionality can be invoked to send reports to a set of users (data driven) to deliver reports. Subscriptions can be delivered to custom locations such as an SFTP, by writing .Net code.
3) Using Report Models, end user can drag and drop columns and develop customized reports
To Note:
1) It can get trickier once you develop really complex graphical/dashboard kind reports - which involve few charts and small tables to be displayed in A4. Report Designer (the tool we use to design reports) and Web display use different rendering engines. So it is better if you deploy the reports often and see how they look, if you develop complex graphical reports
2) If you write custom functionality, you may have to change the XML configuration files(RSReportServer.Config etc). If there is any problem in the edit, ReportServer service may stop. So be careful to back up before doing anything custom
Cognos with an Oracle backend is what we use. We also use spotfire for visualization on top of cognos.
I'm the CTO at Windward and I do believe that Windward Reports is by far both the easiest to use and you can do more with it than any other reporting - and both traits are for the same reason, you design your reports in Word, Excel, & PowerPoint.
As to the generated reports, it's fast, it's rock solid, and incorporating it into your program can be as little as 3 lines of code.
We use Crystal Reports where I work. It has quite a few limitations, and we find ourselves doing almost all of the logic in Database procedures and Views.
One limitation to note is that Crystal Reports does not allow multiple layered sub-reports. In other words, you cannot have a sub-report inside a sub-report.