如何动态获取更改字段中的记录数?

时间:2017-10-05 20:18:11

标签: c# selenium

在我们的应用程序的表格底部,我们有一个字段,显示“显示x到x的x个条目”,其中x是表中的条目数。

我正在尝试创建一个函数,可以在上面的字符串中保存最后的'x'值,以便在删除记录后将其与新值进行比较。

例如......

  • 文字是'显示项目1 - 100 of 100'
  • (我想将最后100个数字存储为x作为断言)
  • 删除1条记录
  • 文字是'显示项目1 - 99 of 99'
  • (我想将最后99个数字存储为断言的y)

有没有直接的方法用C#或Selenium存储这些值?问题是,当运行测试时,由于之前运行的其他测试,上面的x和y值将始终不同。我知道,从长远来看,我应该有一致的测试数据,但现在这是一个问题,以后。

1 个答案:

答案 0 :(得分:1)

最简单的存储是局部变量,漂亮而干净且包含:

[TestFixture]
public class MyTests {
  [Test]
  public void YourTest() {
    var number = 0;

    number = myPageObjectModel.GetResultCount();

    myPageObjectModel.Delete();

    Assert.AreEqual(number - 1, myPageObjectModel.GetResultCount());
  }
}

您可以将该号码存储在课程中,并且可以更广泛地使用,但我觉得这会开始耦合您的测试,因为它们必须按特定顺序运行,所以我建议从本地开始如果可以,我会变量。

如果您使用的技术会强制您跳过不同类中的方法(如SpecFlow),那么最好在场景上下文类中的步骤之间保留状态。