C# 我们能否在Selenium N单元中的[Test]方法执行之前控制[Setup]方法执行
我只是想知道如何解决这个问题。我需要自动化我的公司网站。在那里,我需要为多个网页导航多个url。我设计了混合框架以及页面对象模型设计 我的要求是,, 假设我有3个url: www.google.comC# 我们能否在Selenium N单元中的[Test]方法执行之前控制[Setup]方法执行,c#,selenium,frameworks,nunit,hybrid,C#,Selenium,Frameworks,Nunit,Hybrid,我只是想知道如何解决这个问题。我需要自动化我的公司网站。在那里,我需要为多个网页导航多个url。我设计了混合框架以及页面对象模型设计 我的要求是,, 假设我有3个url: www.google.com www.yahoo.com 脸谱网 以上所有url及其测试数据我将保存在Excel表格中。我创建了三个不同的页面和三个不同的测试类。 因此,我的问题清单如下: 如何将url逐个传递给[setup]方法 如何根据url类型调用测试方法 需要实现应用程序的执行流: 在excel中存储URL不是个好主意
www.yahoo.com
脸谱网 以上所有url及其测试数据我将保存在Excel表格中。我创建了三个不同的页面和三个不同的测试类。 因此,我的问题清单如下:
在excel中存储URL不是个好主意
- 您可以将URL存储在app.config文件中,通过使用ConfigManager实用程序,您可以从app.config文件中检索这些URL
- 根据您的测试用例,您可以在需要的地方使用URL
[TestCase("www.google.com")]
[TestCase("www.yahoo.com")]
[TestCase("www.facebook.com")]
public void WebPageTest(string site)
{
driver.Url(site);
//continue with the test.
}
请参阅本文了解更多信息:我建议您使用[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已为您加载,因此您可以在安装后继续进行测试您好,非常感谢您宝贵的输入,我仍然有一些想法。例如,如果我有超过1K个URL需要测试,我如何继续??就像我将所有1K url存储在app.config中一样,我如何在[Setup]中循环每个1K url?嗨,我的网站中有超过1K个url,可以自动提交不同的页面,如何继续?如何在确切的流中循环每个url,如下所示[SetUp]->[URL1测试]->[Dream Down]->[SetUp]->[URL2测试]->[Dream Down]…继续这样操作@pradeep.k.sdeepu 1k URL与您在问题中提出的3 URL非常不同。您应该编辑和更新问题中的信息,使其更清晰,更符合实际问题的规模。您可以使用和读取Excel、db或平面文件等中的1k URL。您好,我附上了我正在处理的测试数据示例。对于我的公司网站,URL的数量将超过200或300,因此根据测试数据,如何使用N单元和页面对象模型设计我的框架?