Hi this seems to be a nice replacement for the Feature pack2 back in Vs2010 which just support Firefox 3.6 but this is great start to playback CUIT stuff against WebDrive whihc i think eliminates the burning issues open Desktop session
Great add on to Coded UI Testing framework, but unfortunately it seems there are still a lot of issues surrounding it, and lack of support is not helping. Some issue and confusion I've spotted from other users while browsing for solutions with my own issues is with simple installation of the product. Additionally, the version support for different browser is all over the place. I understand that it is also down to individual browser suppliers but i believe issue like those should be dealt prior to release of any product. Overall still a great add on, just requires attention to above issue in order to get 5 stars from users. Looking forward to next update.
You really might want to point folks to a sample or two about making use of this functionality. Without some kind of working example that customers can work with, it's really not going to gain any traction.
For those curious about being able to swap between browsers at will, it turns out you need to set an environment variable in order to do that. I found some now out-of-date material at http://msdn.microsoft.com/en-us/library/jj835758.aspx that has a bit of detail on that.
Overall, this is an improvement over being able to run only on IE, but the amount of work that is needed to do so can be time consuming. For example - if you have anything dynamic on your pages (say, part of the window title changes based on a previous action), you're not going to have a great deal of luck using this.
Also, having to code your own "WaitForAjax" solution is a big hurdle to clear.
Based on what I see so far, my team will be staying with our current Selenium WebDriver framework. We have more control over flow, control detection and selection, and dynamic content handling than CUI has.
I have been having a lot of issues running the tests on Google Chrome using Selenium components. The test runs fine when I run it on IE but it fails on Google Chrome browser.
After doing some investigation here is what I have found:
In a table with row and correspoding cells --> |Value1| Value2| Value3| Value4| in columns 1,2,3,4 respectively
On Internet Exploer : HTMLTable.GetCell(0,1).innertext returns only the text that is found in the cell which is Value2.
On Google Chrome : HTMLTable.GetCell(0,1).innertext returns the entire row innertext which is Value1 Value2 Value3 Value4
So the tests fail on the Google Chrome browser because the getcell.innertext does not match.
I know that I could do an instring compare and check but that is not what I want to do. I need validate the Value2 whether it matches a string and then go and Click on the object with Value4.
My method works perfectly fine with everything on IE but it fails on Chrome. Need some help if anyone has come across this.
I have found the solution for the problem. Please see the link below:
Hi, first of all, great work! When this works, it is fast and reliable. Thank you!
On to the problem I'm having: I'm using VS 2012 Update 4 the latest Selenium components (1/31/2014).
I'm running into scenarios in my testing that requires we look at the ControlDefinition for an attribute (such as style) to determine visibility of the control. Use of ControlDefinition works fine in IE but for Chrome/Firefox I get an error.
Running in IE: Works fine.
Running in Chrome or FireFox:
Exception: System.NotSupportedException:GetProperty of "ControlDefinition" is not supported on control type: Label ---> System.NotImplmentedException: The method or operation is not implemented.
Any plans to have this implemented?
GetProperty("style") doesn't appear to work in any (in this case off a HtmlImage). I'm actually surprised this isn't a property available to all HtmlControls yet.
I cannot get UITestControl.EnsureClickable() to work for ff/chrome (IE works fine).
Is this going to be fixed? If not, what are my 'easy' alternatives?
I tried using techniques such as (1) Mouse.MoveScrollWheel(), or (2) SendKeys("PGDN") to get the control into view.
Although the above techniques work to get the control viewable, the coordinates for the control remain constant (Non-IE browsers). That is, if I get the coordinates x,y for the 'offscreen' control at the time the document is loaded, then 'scroll' down until the control is viewable, then get the coordinates of that control again, they are the same as the initial values. Therefore, I still can't interact with the control because as far as the framework is concerned, the control is still 'offscreen'.
I have an idea for how to proceed with a workaround but I'm really hoping to find a solution within the framework's API.
UPDATE: I was making this more complicated than it needed to be. Using Mouse.Click(UITestControl) does the magic I was looking for. However, the mouse doesn't visually move to the control in ff/chrome before clicking it like it does in IE. It performs the functionality of a click but if you are watching the test live, elements get 'clicked' but you don't really know what was clicked unless you know exactly what the test is doing. Not a big deal when running the tests unmonitored since the functionality is the same but if you are demoing to a non-technical person then it seems a little weird. And that was the problem I was trying to solve.
Mouse.Click(Point) gives the visual aspect of the mouse being clicked but I couldn't get the correct coordinates to use for 'Point' if the control was 'offscreen'.
Feature Request: Visual of the mouse clicking a control in ff/chrome when using API Mouse.Click(UITestControl). (current behavior in IE)
ISSUE: Control unable to click on the colors from a color pallet.
Has anyone encountered this issue in chrome? Works fine in IE but in Chrome, I'm unable to select a color from the colors pallet.
Below is a sample of code.
public HtmlDiv UIFF0000Pane
if ((this.mUIFF0000Pane == null))
this.mUIFF0000Pane = new HtmlDiv(this);
#region Search Criteria
this.mUIFF0000Pane.SearchProperties[HtmlDiv.PropertyNames.Id] = null;
this.mUIFF0000Pane.SearchProperties[HtmlDiv.PropertyNames.Name] = null;
this.mUIFF0000Pane.FilterProperties[HtmlDiv.PropertyNames.InnerText] = null;
this.mUIFF0000Pane.FilterProperties[HtmlDiv.PropertyNames.Title] = "#FF0000";
this.mUIFF0000Pane.FilterProperties[HtmlDiv.PropertyNames.Class] = "colorSquare";
this.mUIFF0000Pane.FilterProperties[HtmlDiv.PropertyNames.ControlDefinition] = "title=\"#FF0000\" class=\"colorSquare\" style=\"background-color: rgb(255, 0, 0);\" rgb" +
this.mUIFF0000Pane.FilterProperties[HtmlDiv.PropertyNames.TagInstance] = "15";
Test method TestAutomation2013.CodedUITest1.CodedUITestMethod1 threw exception:
Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: The playback failed to find the control with the given search properties. Additional Details:
---> System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been returned from a call to a COM component.
at Microsoft.VisualStudio.TestTools.UITest.Playback.Engine.IScreenElement.FindAllDescendants(String bstrQueryId, Object& pvarResKeys, Int32 cResKeys, Int32 nMaxDepth)
at Microsoft.VisualStudio.TestTools.UITest.Playback.ScreenElement.FindAllScreenElement(String queryId, Int32 depth, Boolean singleQueryId, Boolean throwException, Boolean resetSkipStep)
at Microsoft.VisualStudio.TestTools.UITest.Playback.ScreenElement.FindScreenElement(String queryId, Int32 depth, Boolean resetSkipStep)
at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.FindFirstDescendant(String queryId, Int32 maxDepth, Int32& timeLeft)
--- End of inner exception stack trace ---
at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapControlNotFoundException(COMException ex, IPlaybackContext context)
at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowComException(COMException innerException, IPlaybackContext context)
at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowException(SystemException exception, IPlaybackContext context)
at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowException(SystemException exception, String queryId)
We are using VSTS CodedUI for automation testing of Silverlight application. In CodedUI we are able to identify Silverlight control using UITestPluginForSilverlight dll. Automation Test for silverlight application is working fine in IE browser. Now, we have to execute test on Mozilla browser also, so we have used Selenium components for Coded UI Cross Browser Testing. We observed that CodedUI is not able to identify Silverlight controls in Mozilla browser.
Can anyone guide us regarding Silverlight support in CodedUI for Mozilla browser ?
We are using Visual studio 2013 . We have designed testcases in Coded-UI . It is perfectly running on all versions(IE-08,IE-09,IE-10) but unable to run the testcases on any version (16,20,22,24,26) of Mozilla Firefox .
Detailing the problem below:
Coded-UI builder tool identify same object with different property .
For Example :
On "Internet Explorer" one of the object of type hyperlink and its class is "htmlhyperlink".But,on "Mozilla Firefox" same object class is identified as "win hyperlink".
Same for other objects like "image" spying using VSTS2013 on IE gives class property as "HtmlImage" but in filefox it returns "ImageType" with no unique property. Also it gives classname for every object as "MozillaWindowclass"
Kindly suggest any solution for the same, as we have already develop hundreds of scripts and now wants to run on mozilla as well without much changes in object repository.
I am using selenium components for cross browser with coded Ui in vsts2012 premium update 4 and I am facing the same issue on chromedriver 2.9.
Everything is working fine with IE and firefox but playback fails on chrome after login on a page.
Operating System: Windows 7 32 bit
Chrome: Version 32.0.1700.107
I am working on Visual Studio 2012 Premium Update 4. I have a simple test to login to a webpage and run the test on IE, FireFox and Chrome. Every thing works as expected when I run the test on the local machine.
Now, I have a Virtual Machine, that has a test agent installed and I copied all the Selenium components for Coded UI Cross Browser Testing. Connects to the Test controller installed on the same machine that I have Visual Studio and run the tests from.
The test runs fine for IE, but Firefox and Chrome it fails with Message: The browser Chrome[Firefox] is currently not supported.
Any ideas what I might be missing? Do I need to install Visual Studio on that Virtual Machine?
I'm having a problem with Firefox. Whenever there's a popup alert window, I keep getting the error "OpenQA.Selenium.UnhandledAlertException: Modal dialog present".
The workaround I found to prevent from getting this error is the following. The popup message appears after clicking the "Save" Button on a page, instead of declaring that save button as a "HtmlInputButton", I declare it as a "WinControl" and that stops the Exception from happening.
The problem I'm having now is that, after clicking the OK Button on the Modal Dialog popup, the website just hangs and the script timesout because it's waiting for the site that never stops loading. If I stop my script, then the websites loads right away.
Anyone else have this problem? Know of a workaround?
Can you provide a repro site / sample where you see this issue? Is the Save button a HTML button that you can observe in the browser DOM using the F12 developer toolbar?
Please provide us a repro, so we can investigate.
I've found people with similar issue to mine in other forums but I haven't found any workaround so far. Basically I want to run my tests under any of the three browsers depending on a parameter.
Using the code from above, if I have the value "IEFrame" in classname property of the control in UIMAP the tests will run successfully in IE but not FF/Chrome, if I remove this property from the UIMAP tests will work on Chrome and FF but not IE. Apparently hand coded property is not working to have this working. Any advice?
For running tests on a specific browser, all you need to do is set BrowserWindow.CurrentBrowser to a string indicating the browser you want (e.g., "ie", "chrome" or "firefox").
What's the scenario that doesn't get addressed with this that you are trying to do with changing the ClassName search properties?