0

コード UI で 1 つの .cs ファイルに複数のテスト メソッドを追加できますか?

以下は私のコードです。私には2つの特徴があります。1. ログインしてログオフします。

複数のメソッドを追加しようとしている CodedUITest1.cs ファイルを 1 つ作成しました。そんなことが本当にできるのか

public class CodedUITest1 { public CodedUITest1() { }

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

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

1 に答える 1

0

はい、1 つのテスト クラスに複数のテストを含めることができます。あなたが気づいている問題は何ですか?

通常、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);
    }
}
于 2016-05-16T20:01:30.380 に答える