Telerik Forums
Testing Framework Forum
3 answers
262 views

In the web app I'm testing, there is a button which appears multiple times on a page, attached to dynamic objects. There is no identifier for each unique instance. I want to click a specific instance of it, but the identifier for this button is in a sibling section of the HTML.

Simplified model:

<div class = "whole">
      <div class = "top">
             <p title = "Identifier"></p>

      </div>
      <div class = "bottom">
             <button>ButtonIWantToClick</b>

      </div>

</div>

Is there a way to use nested finds to determine which button to click, and if not, what might be the best way to tackle it in code?

I've done some digging in the forums to see if there was a solution to this specific issue. I'm new to Telerik, so here's to hoping that there's a reasonably simple way of achieving what I want to do.

Thanks in advance.

Nikolay Petrov
Telerik team
 answered on 15 Mar 2017
1 answer
108 views

We are installing Telerik Testing framework on our controlled environment on top of our controlled environment for testing.

Would like to understand, on installing the Telerik testing framework does it impact any OS settings or IE settings

 

Elena
Telerik team
 answered on 02 Mar 2017
3 answers
392 views

I am trying to click a menu items in a span as attached in a screenshot. The same below code to find an item by XPath works in selenium but not in telerik testing framework. Can some one tell me why?

--Telerik Code that does not work. Gives null menu.

  Element menu = myManager.ActiveBrowser.Find.ByXPath("//span[contains(text(),'some text')]");

myManager.ActiveBrowser.Actions.Click(menu);

---Selenium code that works. 

driver.FindElement(By.XPath("//span[contains(text(),'some text')]")).Click();

Elena
Telerik team
 answered on 09 Feb 2017
9 answers
178 views
HI 

I am trying to install the exe version of testing framework , but I am getting some issues while installing , WHen I spoke to one of the team member he was referring me to download the msi version , But I dont find the MSI version

Could you please provide me the MSI version of the testing framework?

Thank you
Vamsi
Elena
Telerik team
 answered on 03 Feb 2017
1 answer
128 views

I'm trying to simply open a project using the stand alone application via git.  Clicking on Test Studio>Open directs me to the location in which my project files are listed but no matter what I select, it just takes me to the end of the file without opening anything.

 

Attempts to open using source control are also unsucessful via git.  WHen asked to browse for folder ... it's the same result but this time ending in "folder already exists and is not an empty directory".  Creating a new folder does nothing, just says "Git Source Control:  Error connecting to Git repository:  Request failed with status code:  401".  But yet it says I'm already connected to the repository.  What am I missing here?  Apparently i can only open Recently worked on or viewed projects.

Elena
Telerik team
 answered on 23 Jan 2017
3 answers
143 views

Hello,

I am doing research on web automation. I have found Testing Framework during my research. I have tested it using ASP.NET and it is working sometime on development and it was throwing error sometime also when I hosted this site on IIS it was not working completely.

Can anybody help me please how to configure application on IIS? 

Does it work on IIS?

Below code is working for Chrome only. It is not working on IE and Firefox 

                Settings settings = new Settings();
                settings.Web.DefaultBrowser = BrowserType.Chrome;
                Manager manager = new Manager(settings);
                manager.Start();
                
                manager.LaunchNewBrowser();
                manager.ActiveBrowser.NavigateTo("http://www.google.com");

Please help.

Thanks,

Bhavin Panchal

Elena
Telerik team
 answered on 20 Jan 2017
1 answer
221 views

Hi,

After updating to the newest version of Telerik Testing Framework new automation IDs are not recognised. The old ones (created before the update) work, but the new ones that I have added are not recognised and when the tests are run and I recieve an "element not found" error.

I think I am adding in the ID correctly (this is how I always used to add them in before). Please see the example below:

What is written in the Xaml:

<ListBox AutomationProperties.AutomationId="Menu_Model_Type_ListBox"
                                         Height="Auto"
                                         MaxWidth="250"
                                         ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                                         ScrollViewer.VerticalScrollBarVisibility="Disabled"
                                         HorizontalAlignment="Stretch"
                                         ItemsSource="{Binding ModelTypes}">
                                    <ListBox.ItemTemplate>.....

 

What is written in the Test:

ArtOfTest.WebAii.Controls.Xaml.Wpf.ListBox modelTypeListBox =
               app.MainWindow.Find.ByAutomationId<ArtOfTest.WebAii.Controls.Xaml.Wpf.ListBox>("Menu_Model_Type_ListBox");

 

 

Any idea what could be causing this error? These elements are definitely there (and of the correct type etc.).

Many thanks in advance for your help.

Best regards,

David

Nikolay Petrov
Telerik team
 answered on 19 Jan 2017
2 answers
123 views

RadMaskedTextInput: how to insert value in it using Test Studio, I need to raise the valuechanged event so that other button on UI will be enabled.

 

Thanks,

Kanwar

Elena
Telerik team
 answered on 18 Jan 2017
6 answers
3.3K+ views

Hello!

Is it possible to retrieve the instance of the DataContext of a UserControl within a WPF Application?

I have tried it with FrameworkElement.DataContextProperty, but FrameworkElement.GetProperty(FrameworkElement.DataContextProperty) just get's the FullName of the DataContext as a string.

 

I am working with VS2015, .NET Framework 4.5.2, MSTest (switching to MSTest V2 once no longer a prerelease).

 

Here's my example code of a MVVM WPF-Application:

 

Default App.xaml and App.xaml.cs, with StartupUri="MainWindow.xaml"

Command and ViewModel, see http://docs.telerik.com/data-access/quick-start-scenarios/wpf/quickstart-wpf-viewmodelbase-and-relaycommand#implementing-viewmodelbase-and-relaycommand.

 

MainWindow.xaml: (default Code-Behind)

<Window x:Class="WpfApplication.MainWindow"
        xmlns:local="clr-namespace:WpfApplication"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <local:MyUserControl
            AutomationProperties.AutomationId="UserControlId" />
    </Grid>
</Window>

 

MyUserControl.xaml: (default Code-Behind)

<UserControl x:Class="WpfApplication.MyUserControl"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:WpfApplication"
             mc:Ignorable="d"
             d:DesignHeight="300" d:DesignWidth="300">
    <UserControl.DataContext>
        <local:MyDataContext />
    </UserControl.DataContext>
    <Grid>
        <StackPanel>
            <Button
                AutomationProperties.AutomationId="ButtonId"
                Content="Click"
                Command="{Binding ClickCommand}"
                CommandParameter="{Binding ClickCommandParameter}" />
        </StackPanel>
    </Grid>
</UserControl>

 

MyDataContext:

using System.Windows.Input;
 
namespace WpfApplication
{
    public class MyDataContext : ViewModel
    {
        public ICommand ClickCommand { get; }
        public string ClickCommandParameter { get; } = "clicked";
 
        public int Count { get; private set; }
 
        internal MyDataContext()
        {
            ClickCommand = new Command(OnClick);
        }
 
        private void OnClick(object obj)
        {
            Count++;
        }
    }
}

 

Unit Test (MSTest):

using System.IO;
using ArtOfTest.WebAii.Core;
using ArtOfTest.WebAii.Silverlight;
using ArtOfTest.WebAii.TestTemplates;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WpfApplication;
 
namespace UnitTests
{
    [TestClass]
    public class MyUnitTests : BaseWpfTest
    {
        public TestContext TestContext { get; set; }
 
        [TestInitialize]
        public void MyTestInitialize()
        {
            Initialize();
 
            string currentWorkingDirectory = Directory.GetCurrentDirectory();
            string path = Path.Combine(currentWorkingDirectory, "..", "..", "..", "WpfApplication", "bin", "Debug", "WpfApplication.exe");
 
            Manager.LaunchNewApplication(path);
        }
 
        [TestCleanup]
        public void MyTestCleanup()
        {
            CleanUp();
        }
 
        [TestMethod]
        public void MyTestMethod()
        {
            FrameworkElement userControl = ActiveApplication.MainWindow.Find.ByAutomationId("UserControlId");
 
            FrameworkElement button = userControl.Find.ByAutomationId("ButtonId");
            Assert.AreEqual("Click", button.GetProperty(new AutomationProperty("Content", typeof(string))));
            Assert.AreEqual("WpfApplication.Command", button.GetProperty(new AutomationProperty("Command", typeof(string))));
            Assert.AreEqual("clicked", button.GetProperty(new AutomationProperty("CommandParameter", typeof(string))));
 
            button.User.Click();
 
            object dataContext = userControl.GetProperty(FrameworkElement.DataContextProperty);
            Assert.AreEqual("WpfApplication.MyDataContext", dataContext); //pass
            Assert.IsInstanceOfType(dataContext, typeof(MyDataContext), "''" + dataContext + "''"); //fail
        }
    }
}

 

 

And are there any other ways to get and/or set a Property of a ViewModel alternatively?

From the code sample above, I would like to get the current value of MyDataContext.Count.

In my Unit Test, I want to Assert the incremented MyDataContext.Count property after each Button-Click.

 

Best wishes!

Elena
Telerik team
 answered on 09 Jan 2017
6 answers
268 views

Hello!

Is there a way to verify that e.g. a Mouse-Click via FrameworkElement.User.Click() throws a particular exception within a WPF Application?

Check within a Unit Test via e.g. MSTest's ExpectedExceptionAttribute or NUnit's Assert.Throws?

Best wishes!

Elena
Telerik team
 answered on 09 Jan 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?