我可以在编码用户界面中的.cs中添加多个测试方法吗?

时间:2016-05-16 17:58:04

标签: coded-ui-tests testautomationfx

我可以在代码UI中的一个.cs文件中添加多个测试方法。

以下是我的代码。我有两个功能。 1.登录并注销。

我创建了一个CodedUITest1.cs文件,我尝试添加多个方法。是否真的可以这样做

公共类CodedUITest1     {         public CodedUITest1()         {         }

    [TestMethod]
    public void Login()
    {
        this.UIMap.Login();
        this.UIMap.Assert_Login();
        this.UIMap.LogOff();
    }

    [TestMethod]
    public void LogOff()
    {
       this.UIMap.LogOff();
    }

1 个答案:

答案 0 :(得分:0)

是的,您可以在测试类中进行多项测试。你注意到的问题是什么?

通常,我使用TestInitialize属性为所有测试设置公共步骤,然后每个测试方法执行与该点不同的操作并执行断言等。

public class LoginPageTests
{
    BrowserWindow bw;
    [TestInitialize]
    public void GivenLoginPage()
    {
        bw = BrowserWindow.Launch("http://yoursite.com/loginPage");
    }

    [TestMethod]
    public void WhenSupplyingValidCredentials_ThenLoginSucceedsAndAccountsPageIsShown()
    {
        Assert.IsTrue(bw.Titles.Any(x => "Login"));
        HtmlEdit userNameEdit = new HtmlEdit(bw);
        userNameEdit.SearchProperties.Add("id", "userName");
        userNameEdit.Text = "MyUserName";

        HtmlEdit passEdit = new HtmlEdit(bw);
        passEdit.SearchProperties.Add("id", "pass");
        passEdit.Text = "MyPassword";

        HtmlButton loginButton = new HtmlButton(bw);
        Mouse.Click(loginButton);

        // probably can one of the WaitFor* methods to wait for the page to load
        Assert.IsTrue(bw.Titles.Any(x => "Accounts"));
    }

    [TestMethod]
    public void WhenNoPassword_ThenButtonIsDisabled()
    {
        HtmlEdit userNameEdit = new HtmlEdit(bw);
        userNameEdit.SearchProperties.Add("id", "userName");
        userNameEdit.Text = "MyUserName";

        HtmlButton loginButton = new HtmlButton(bw);
        Assert.IsFalse(loginButton.Enabled);
    }
}