我们可以在 Selenium N 单元中控制 [Test] 方法执行之前的 [Setup] 方法执行吗
Can we control the [Setup] method execution before [Test] Method Execution in Selenium N unit
我只是想知道如何解决这个问题。我需要自动化我公司的网站。我需要为多个网页浏览多个 url。我设计了混合框架和页面对象模型设计。
我的要求是,
假设我有 3 url 个:
www.google.com
www.yahoo.com
脸书
以上所有url及其测试数据我会保存在一个Excelsheet中。我创建了三个不同的页面和三个不同的测试 类。
所以我的问题列表是:
- 如何将url的一一传递给[setup]方法
- 如何调用深化url类型的测试方法
执行流程需要实现的应用程序:
在 excel 中存储 URL 不是个好主意,
您可以将 URL 存储在 app.config 文件中,并且通过使用 ConfigManager 实用程序,您可以从 app.config 文件
根据您的测试用例,您可以在需要和需要的地方使用 URL
您需要使用 TestCase 属性参数化您的测试。
[TestCase("www.google.com")]
[TestCase("www.yahoo.com")]
[TestCase("www.facebook.com")]
public void WebPageTest(string site)
{
driver.Url(site);
//continue with the test.
}
查看这篇文章以了解更多信息:https://github.com/nunit/docs/wiki/TestCase-Attribute
我建议您使用 [category] 属性对您的测试用例进行分类。例如
[Test]
[Category("GoogleTest")]
public void googletest1()
{
}
[Test]
[Category("FBTest")]
public void fbtest1()
{
}
现在在 [SetUp] 方法中,您可以根据类别加载 url,例如
[SetUp]
public void testsetup()
{
#initialise driver
var category = TestContext.CurrentContext.Test.Properties.Keys;
if(category.Contains("GoogleTest"))
{
//category1 setup
}
else if(category.Contains("FBTest"))
{
//category2 setup
}
}
因此使用此方法您可以解决查询 # 2,即与测试相关的 url 已经为您加载,因此您可以在设置后继续测试
我只是想知道如何解决这个问题。我需要自动化我公司的网站。我需要为多个网页浏览多个 url。我设计了混合框架和页面对象模型设计。
我的要求是, 假设我有 3 url 个:
www.google.com
www.yahoo.com
脸书
以上所有url及其测试数据我会保存在一个Excelsheet中。我创建了三个不同的页面和三个不同的测试 类。 所以我的问题列表是:
- 如何将url的一一传递给[setup]方法
- 如何调用深化url类型的测试方法
执行流程需要实现的应用程序:
在 excel 中存储 URL 不是个好主意,
您可以将 URL 存储在 app.config 文件中,并且通过使用 ConfigManager 实用程序,您可以从 app.config 文件
根据您的测试用例,您可以在需要和需要的地方使用 URL
您需要使用 TestCase 属性参数化您的测试。
[TestCase("www.google.com")]
[TestCase("www.yahoo.com")]
[TestCase("www.facebook.com")]
public void WebPageTest(string site)
{
driver.Url(site);
//continue with the test.
}
查看这篇文章以了解更多信息:https://github.com/nunit/docs/wiki/TestCase-Attribute
我建议您使用 [category] 属性对您的测试用例进行分类。例如
[Test]
[Category("GoogleTest")]
public void googletest1()
{
}
[Test]
[Category("FBTest")]
public void fbtest1()
{
}
现在在 [SetUp] 方法中,您可以根据类别加载 url,例如
[SetUp]
public void testsetup()
{
#initialise driver
var category = TestContext.CurrentContext.Test.Properties.Keys;
if(category.Contains("GoogleTest"))
{
//category1 setup
}
else if(category.Contains("FBTest"))
{
//category2 setup
}
}
因此使用此方法您可以解决查询 # 2,即与测试相关的 url 已经为您加载,因此您可以在设置后继续测试