使用 Selenium UI 个测试用例添加 API 个测试用例
Adding API test cases with Selenium UI test cases
关于我的项目的信息:c#、selenium 3.9、Nunit、windows、VS 17、RestSharp(针对 API)
Project 主要是为 UI 测试用例开发的,但现在我想添加 API 测试用例,添加额外的 API 个用例,因为如果在 UI 级别
上执行它们会很耗时
问题:每当我 运行 我的 API 案例然后驱动程序被初始化并调用浏览器,紧接着我的API 测试开始,最后我看到 API 测试进行得很顺利并且 运行 成功了。
我知道我必须更改我在 Base class 上的实现,但我不确定我应该做什么,所以我的框架清楚地知道它何时调用驱动程序以及何时跳过 ?? (或者我不确定我们是否可以通过Nunit注释来做到这一点)
预期:当 运行ning UI 情况下驱动程序应调用和启动浏览器,但当 运行ning API 情况下驱动程序不应调用和启动浏览器不应启动浏览器r
请查看实现:
ValidateUI.cs : 基础测试
[TestFixture]
public class ValidateUI : BaseTest
{
[Test]
public static void testUI()
{
}
}
ValidateAPI.cs : 基础测试
[TestFixture]
public class ValidateAPI : BaseTest
{
[Test]
public static void testAPI()
{
}
}
BaseTest.cs
[TestFixture]
public class BaseTest
{
[SetUp]
public void Init()
{
Driver.ConfigInit();
Driver.LogStart();
Driver.Initialize(Settings.BrowserType);
LoginPage.GoTo(Settings.BrowserType);
}
[TearDown]
public void Cleanup()
{
Driver.Close();
}
}
如果您不希望 API 测试使用驱动程序,则不应从设置驱动程序的 BaseTest 派生 API fixture。
您可以尝试这样的继承层次结构...
Base Fixture
API Base Fixture
API Test Fixture 1
API Test Fixture 2
etc.
UI Base Fixture
UI Test Fixture 1
UI Test Fixture 1
Base Fixture 将设置日志记录和其他常用内容。
UI Base会设置驱动等
API Base 会执行您的 API 测试需要的任何设置
这种设置分区正是 fixtures 的目的。
关于我的项目的信息:c#、selenium 3.9、Nunit、windows、VS 17、RestSharp(针对 API)
Project 主要是为 UI 测试用例开发的,但现在我想添加 API 测试用例,添加额外的 API 个用例,因为如果在 UI 级别
上执行它们会很耗时
问题:每当我 运行 我的 API 案例然后驱动程序被初始化并调用浏览器,紧接着我的API 测试开始,最后我看到 API 测试进行得很顺利并且 运行 成功了。
我知道我必须更改我在 Base class 上的实现,但我不确定我应该做什么,所以我的框架清楚地知道它何时调用驱动程序以及何时跳过 ?? (或者我不确定我们是否可以通过Nunit注释来做到这一点)
预期:当 运行ning UI 情况下驱动程序应调用和启动浏览器,但当 运行ning API 情况下驱动程序不应调用和启动浏览器不应启动浏览器r
请查看实现:
ValidateUI.cs : 基础测试
[TestFixture]
public class ValidateUI : BaseTest
{
[Test]
public static void testUI()
{
}
}
ValidateAPI.cs : 基础测试
[TestFixture]
public class ValidateAPI : BaseTest
{
[Test]
public static void testAPI()
{
}
}
BaseTest.cs
[TestFixture]
public class BaseTest
{
[SetUp]
public void Init()
{
Driver.ConfigInit();
Driver.LogStart();
Driver.Initialize(Settings.BrowserType);
LoginPage.GoTo(Settings.BrowserType);
}
[TearDown]
public void Cleanup()
{
Driver.Close();
}
}
如果您不希望 API 测试使用驱动程序,则不应从设置驱动程序的 BaseTest 派生 API fixture。
您可以尝试这样的继承层次结构...
Base Fixture
API Base Fixture
API Test Fixture 1
API Test Fixture 2
etc.
UI Base Fixture
UI Test Fixture 1
UI Test Fixture 1
Base Fixture 将设置日志记录和其他常用内容。
UI Base会设置驱动等
API Base 会执行您的 API 测试需要的任何设置
这种设置分区正是 fixtures 的目的。