我只是想知道如何解决这个问题。我需要使公司网站自动化。在这里,我需要浏览多个网页的多个URL。我已经设计了混合框架以及Page对象模型设计。
我的要求是, 说我有3个网址:
www.google.com
www.yahoo.com
脸书
以上所有网址及其测试数据将保存在Excel工作表中。我创建了三个不同的页面和三个不同的测试类。 所以我的问题清单是:
执行流程需要实现应用程序
答案 0 :(得分:1)
您需要使用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
答案 1 :(得分:-1)
在Excel中存储URL不是一个好主意
您可以将URL存储在app.config文件中,并且可以使用ConfigManager实用程序从app.config文件中检索那些URL。
根据您的测试用例,您可以在需要和需要的地方使用URL
答案 2 :(得分:-1)
我建议您使用[category]属性对测试用例进行分类。例如
[Test]
[Category("GoogleTest")]
public void googletest1()
{
}
[Test]
[Category("FBTest")]
public void fbtest1()
{
}
现在,在[SetUp]方法中,您可以根据类别加载网址,例如
[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,即已经为您加载了与测试相关的网址,因此您可以在设置后继续进行测试