当我在编码的UI测试中更新UIMap时,UIMap.Designer.cs文件会覆盖我的代码

时间:2012-08-02 11:06:41

标签: automation coded-ui-tests

当我使用Coded UI测试记录“Login Scenario”的测试方法时,它会生成这样的代码

生成的代码

        public void LoginMethod()
    {
        #region Variable Declarations
        WinEdit uIItemEdit = this.UIDiagnosoftVIRTUEWindow.UIItemWindow.UIItemEdit;
        WinEdit uIItemEdit1 = this.UIDiagnosoftVIRTUEWindow.UIItemWindow1.UIItemEdit;
        WinComboBox uIItemComboBox = this.UIDiagnosoftVIRTUEWindow.UIItemWindow2.UIItemComboBox;
        WinButton uIConnectButton = this.UIDiagnosoftVIRTUEWindow.UIConnectWindow.UIConnectButton;
        #endregion

        // Type 'username' in 'Unknown Name' text box
        uIItemEdit.Text = this.LoginMethodParams.UIItemEditText;



        // Type '********' in 'Unknown Name' text box
        Keyboard.SendKeys(uIItemEdit1, this.LoginMethodParams.UIItemEditSendKeys1, true);

        // Select 'facility' in 'Unknown Name' combo box
        uIItemComboBox.SelectedItem = this.LoginMethodParams.UIItemComboBoxSelectedItem;

        // Click 'Connect' button
        Mouse.Click(uIConnectButton, new Point(64, 14));
    }

我更新此代码以允许数据驱动源,CSV文件包含用户名,密码,.... 这是更新的代码

更新代码

      public void LoginMethod(string username,string password,string facility)
       {
        #region Variable Declarations
        WinEdit uIItemEdit = this.UIDiagnosoftVIRTUEWindow.UIItemWindow.UIItemEdit;
        WinEdit uIItemEdit1 = this.UIDiagnosoftVIRTUEWindow.UIItemWindow1.UIItemEdit;
        WinComboBox uIItemComboBox = this.UIDiagnosoftVIRTUEWindow.UIItemWindow2.UIItemComboBox;
        WinButton uIConnectButton = this.UIDiagnosoftVIRTUEWindow.UIConnectWindow.UIConnectButton;
        #endregion

        // Type 'msameeh' in 'Unknown Name' text box
        uIItemEdit.Text = username;

        // Type '{Tab}' in 'Unknown Name' text box
       uIItemEdit.Text=password;


        // Select 'diagnosoft.com' in 'Unknown Name' combo box
       uIItemComboBox.SelectedItem = facility;

        // Click 'Connect' button
        Mouse.Click(uIConnectButton, new Point(64, 14));
    }

并且我运行测试方法并且它运行良好但当我编辑UIMap以添加未使用的控件,如“Canncel按钮”或任何其他控件 喜欢这个链接

http://blogs.microsoft.co.il/blogs/shair/archive/2010/08/08/coded-ui-test-tip-4-add-unused-controls-to-ui-map.aspx UIMap.Designer.CS文件用生成代码

覆盖我的登录方法更新代码

先谢谢

1 个答案:

答案 0 :(得分:7)

您不应编辑* UIMap.Designer.cs文件。这些都是自动生成的。这是* UIMap.cs文件的目的,用于不会被覆盖的自定义方法和实现。

这就是为什么Designer文件顶部的注释块指出不要手动编辑它们。