Integration testing with White [closed] - winforms

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
Has anyone got experience with the white framework?
www.codeplex.com/white ?
I'm thinking about using it for the next project for basic smoke tests of our windows client. I'd like some advice on articles or your own experiences. Thanks.

I recently used white to build a few (20+) UI tests for a fairly complex WinForms app with plenty of UserControls, dynamically created and 3rd-party controls.
Here are my impressions:
Very easy and intuitive to work with.
Little or no quality issues.
It's a young project so there are
some missing features, but they've
got the basics covered.
Occasionally, if a control didn't have a known AutomationID, I was forced to use keystrokes to navigate to and manipulate a control ("tab, tab, enter" for example) which was kind of a bummer, but still very easy to do in white. This usually only happened with 3rd-party or dynamically generated controls.
White's recorder is helpful (and will actually generate code for you) but does often get confused by complicated or unusual controls. For that reason I'd recommend that you...
...keep UISpy nearby so you can see the AutomationID of the controls you're working with.
And finally, if you're like me, you're hoping to set up some automated tests. This can be tricky since an automated test will usually be run by a CI tool such as CruiseControl which runs as a Windows service, which therefore has no active graphical environment (Windows session)...which white requires. The suggested way around this is to use a virtual machine. This is where I lost steam, as my tool chain had just grown too large for my purposes: CruiseControl->NAnt->NUnit->white + virtual machine.
Anyway, hope that's useful.

I evaluated it recently, but had to reject it because it would not support the third party controls (janus grid) we were using.

Related

Need a way to communicate to Unix machine using WPF application [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I am creating an application in Windows OS using WPF (C# as code behind) with the data stored in the Unix machine which is in the same network. My app needs a way to communicate with the Unix machine to get the data from it and show it on windows UI (created in WPF).
My app will also need to know all the Unix machines connected in the network via broadcasting.
What is the best way to connect to Unix machines with my WPF application for the above mentioned requirements?
If the data you want to use is file based, you could use an ftp or samba servers on unix. One of the advantages of samba server is that it has an ability to broadcast and allows discovering of its resources in the network through netbios. This will comply with your broadcasting requirement.
If file based storage is not enough, consider a web service. Since you are writing an application in .NET it will be easiest for you to use Mono on the Unix side. You can write a web service in Mono http://www.mono-project.com/Writing_a_WebService that will listen to requests from your WPF application.
I admit that this solution is not the best in terms of performance, scalability and portability, but it's the quickest for a .net developer.
The other requirement concerning that your app needs to know the list of unix machines is more complicated. Brute force approach would be to have a master server that will listen for notifications from unix machines when they come to life. It will give that list to the WPF client.
If you want to go for a more performing, portable solution and you have more development resources, you can implement a restful service on the unix side with one of these frameworks REST frameworks
The most complex approach in terms of development time is to use bare TCP ip. That will require a lot of coding on both client and server sides and a long process of making it stable. Again it depends on how complex your data interaction is going to be.
"with the data stored in the Unix machine which is in the same network" assuming you mean it is in a database I would recommend some sort of ORM (like NHibernate)

off-screen (FBO) OpenGL rendering to create frames for WPF? [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I have a WPF application, and part of the screen shows an object that needs to be rendered dynamically in 3D, at perhaps 20 FPS. I understand that typically a WPF application would use DirectX to do the 3D rendering. (I also understand that WFP has a simplified 3D API, but I don't think that would work in my case because I have too many triangles to render.) In my case, I would like to use OpenGL because there is a good chance the whole application will be ported to a non-Windows machine, and I don't want to have to rewrite the 3D code.
I see there have been some attempts to create a WPF control into which OpenGL can render directly, but they all seem a bit too rough/risky to use.
As a safer approach, I thought I could use FBOs with OpenGL to render the frames off-screen, and then take the bitmaps and pass them off, in real time, to WPF as regular 2D images.
My question is about speed. Do you anticipate there being deal-breaking bottlenecks in this scheme? I assume the FBO rendering will be about as fast as direct window rendering on the OpenGL side? And I expect that extracting the bitmaps from the rendered OpenGL images (FBOs) should be fast? I'm less sure about handing those images off to WFP and seeing them update at 20 FPS.
Do you have concrete experience that can help me decide if this is a reasonable way to go?
I would like to use OpenGL because there is a good chance the whole
application will be ported to a non-Windows machine
But then it means you have to rewrite your whole WPF app too as this framework is not cross-platform.So in such a case OpenGL part will be only of minor concern here.I think you should re-consider the whole UI tech.For example I would use Qt SDK as it is truly cross platform and you can connect it with both DirectX and OpenGL at will.
But if you plan to stick with WPF on Windows and using OpenGL just use C# OpenGL wrapper.
Yes you will get some performance overhead because that is a wrapper.Just like those for Java (JOGL , LWJGL).But still games like MineCraft were originally written and worked fine with these APIs.
Another , more challenging approach,is to WPF COM interop and call some C++ app that wraps your OpenGL renderer directly from WPF may be even using unsafe mode to get as low level as possible.Never tried it myself but it may get you a better performance.But that is a lot of work actually.
Finally I would suggest you using DirectX for Windows as WPF has the best integration with it naturally.If you design your app well then it won't be a problem to connect it to OpenGL backend later.

Long term client API strategy for building a Windows application? [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I'm starting to architect a new Windows application that will require a fairly rich client interface, but I have no idea what client API I should go with (WPF, Silverlight, WinRT, HTML5, other?). I'm actually rather disturbed that there is so little guidance from MS to help people make this decision.
Whats the MS support strategy for the different client APIs? Whats the longevity for each? I dont want to write a full client application in a currently known and supported API (WinForms or WPF) only to have MS pull support for it in two years, and be forced to re-write it. But I really cant write it in WinRT because mass corporate deployment wont be in place for at least 2 years. So am I forced to go with a web based approach, like Silverlight instead? Whats its support/longevity story? Do I go HTML5 instead? If I go that route, whats the benefit of using the Microsoft stack instead of just going the open source stack?
It feels like I'm in a total catch 22 here, and I cant find any good guidance from Microsoft. From the sounds of things it would be stupid to write software in WPF because its being dropped (soon?), but I cant write it in WinRT because corporations wont deploy it for a couple years. This whole thing just feels completely skitsofrantic to me.
Thoughts or ideas?
Taking your experience into account, and also the fact that you said 'Windows Application' (not web application) I would definitely go with WPF. Keep in mind that regardless of using a different set of underlying APIs, WinRT still keeps the core concepts of WPF: XAML, Bindings, Styles, Triggers, DataTemplates and so on. So, while it is true that you cannot copypaste code from WPF to WinRT and press F5, there is a significant amount of work that would be compatible between these technologies (namely ViewModels that are view-agnostic), while HTML, Winforms and other frameworks have completely different ways of doing things, and require a different mindset to work with.
In regards of what will Microsoft do.. I wouldn't be too worried, because evidence shows that even older technologies such as VB6 still remain "runnable" in current versions of OSes, and I don't think there will be a need to rewrite the whole application in 2 years even if Metro becomes a standard. Metro cannot replace desktop traditional applications, which still prove to be the best option for data intensive applications.
And, if it ever comes the time when all of us are really pushed into WinRT, it's gonna be immensely easier for those who made SL / WPF applications already written using MVVM and XAML, than for those who did HTML or winforms.
Whatever you end up choosing, make sure you separate as much as possible your application's functionality from the UI. This will definitely make it a lot easier when a UI framework change is required.
This is just my personal opinion, and I would like to hear what other people have to say about this subject too.
Edit: Another really important aspect is that if you need to really make an animation-intensive UI, or take a step away from traditional battleship-gray UIs, you're gonna end up suffering a lot from winforms incapabilities on this, or HTML/Javascript hell where all browsers render things differently, not to mention the amount of code required in these technologies to achieve things that require 3 lines of XAML in WPF / SL / WinRT.

where can i find advanced backbone.js examples [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
Can someone please direct me to a resource containing an advanced backbone.js example?
by advance I mean multiple pages with nested views, complex layouts etc.
I have browsed the web, gitHub repository, blogs and even purchased the "recipes with backbone" book. All of the samples are at a level of simple SPA (yes I know backbone is for that, but I know it can do much more) level, a todo list calendar, adding and deleting notes etc.
Is there something a bit more advanced and complex that I can learn from? I'm no expert in backbone
but for me the best way is to learn by sample
While it's not a complete example (it doesn't do any server-side communication, yet), I've been building a larger example app at http://bbclonemail.heroku.com
This project serves two purposes for me: providing a more in-depth example app, and providing a playground for new ideas that I have which often end up in my Backbone.Marionette add-on (go to http://github.com/derickbailey/backbone.marionette).
There are also several good examples listed in my http://backbonetraining.net/resources page, including a Wine Cellar application, a backbone 'store', and a handful of sample projects on github from various people.
DocumentCloud
http://www.documentcloud.org/public/search/ and perhaps https://github.com/documentcloud/visualsearch in particular
Tzigla
http://tzigla.com/ source here http://tzigla.com/assets/board.js
QuietWrite
http://www.quietwrite.com/ source here http://www.quietwrite.com/assets/app.js
Diaspora X^2
https://github.com/bnolan/diaspora-x2 with source in Coffee
InterMine Lists Client
Peek into the source, it is packaged by Brunch and it is a learning experience for me too:
https://github.com/radekstepan/intermine-lists-client
Here is my github, I've started to build out a framework to help people use backbone and Jquery to build mobile development projects. But you can use the same ideas, with Node.js and Express. Really any Javascript project.
https://github.com/DarrenHurst/BroadStreet
Have you checked the todo-example? Is it complicated enough?
http://documentcloud.github.com/backbone/#examples-todos
Here is an interesting sample app organised in modules containing models, collections and views.
demo: http://githubviewer.org/
sources: http://github.com/tbranyen/github-viewer
I wanted to get inspired with this Backbone Contact Manager and I found it interesting the way it manages the views, only by model an collection events.
The article also has some tips at the end.

Tiggr vs Application Craft [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.
in the last months the development of mobile apps has become more and more a focus of mine. I already created a few apps with PhoneGap and also dived in into mobile frameworks like jQuery Mobile ans Sencha Touch.
In a next step I would like to use a mobile apps builder and I stumbled on Tiggr and Application Craft. There are probably even more.
So I wanted to ask if some people here already have experience with those two or maybe even another app builder and share it with us. As both seem to cover the same area and I am not so interested in learning them all. I would like to know if someone can tell me which is "better".
I know that there has been a big topic about PhoneGap vs Titanium Appcelerator that helped me a lot so I hope I can get some helpful answers about this topic as well.
Thanks for reading,
Marvin
I have been using Application Craft for about a month (on and off) and so far i'm really impressed. They seem to be putting LOTS of work into it: things have broken only a couple of times, never anything serious. Also, they are building really thorough documentation, etc. they host the apps for free, and they seem to be adding features etc all the time. I would bet that in a year or so they will be huge; quality services on the net tend to grow fast thankfully.
I hadn't heard about Tiggr until now. From what i can see on their site, it looks as though their free service is far inferior to what Application Craft offer. They may be worth a try too?
Hope that helps
I haven't specifically tried Tiggr or ApplicationCraft, but as you've already mentioned there are quite a few different app creation systems out there, all of which work in slightly different ways. Many, for example MobileRoadie or AppBaker, supply a series of pre-built templates that you can customise and plug together in various ways. This is great if their templates support the type of app you want, but there's often no scripting support so if you want something custom you need to pay for their developers to add the features you need, or you should go elsewhere.
If you want complete control over how your app looks and works then you should use a more IDE-like system with built-in scripting support. Things to look out for in such a system would be a good code editor, a way of immediately previewing your app inside the tools, decent documentation, support, and examples. If you're planning a cross-platform app, you'll want a system that can simulate your app running on different phone screen sizes, so you can tune your GUI appropriately.
AppFurnace is a new cloud-based app development platform that provides all of the above (I should point out that I work for AppFurnace, of course).
Tiggr Mobile is a great service! Check out thier tutorials on creating an app that will run on any mobile device at http://blog.gotiggr.com/. They've also received good press and have an impressive gallery of apps that users have created and submitted.
You should probably put NS Basic/App Studio on your list as well. It provides a complete IDE, including a 'drag and drop' interface for adding elements to your forms. The overall feel is something like Visual Studio. You can program in JavaScript or Basic. More info at http://www.nsbasic.com/app.
(disclosure: I work for NS Basic)

Resources