首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用Selenium UI测试用例添加API测试用例

用Selenium UI测试用例添加API测试用例
EN

Stack Overflow用户
提问于 2018-02-16 23:08:43
回答 1查看 507关注 0票数 1

关于我的项目的信息: c#,selenium 3.9,Nunit,windows,VS 17,RestSharp (for API)

  1. 项目主要是为UI测试用例开发的,但现在我也想添加 API 测试用例,因为在UI级别上这样做很费时。
  2. 问题:每当我运行API用例时,驱动程序就会被初始化并调用浏览器,然后我的API测试就开始了,最后我看到API测试进行得很好,并且运行成功。
  3. 我知道我必须在基类上更改我的实现,但是我不知道我应该做什么,所以我的框架清楚地知道什么时候调用驱动程序,什么时候跳过??(或者我不确定我们是否可以通过Nunit注释来做到这一点)
  4. 期望:在运行UI案例时,驱动程序应该调用并启动浏览器,但是在运行API案例时,驱动程序不应该调用,而_should不应该启动browse_r。
  5. 请见执行情况:

ValidateUI.cs : BaseTest

代码语言:javascript
代码运行次数:0
运行
复制
[TestFixture]

public class ValidateUI : BaseTest
{

    [Test]
    public static void testUI()
    {

    }

}

ValidateAPI.cs : BaseTest

代码语言:javascript
代码运行次数:0
运行
复制
[TestFixture]

public class ValidateAPI : BaseTest
{

    [Test]
    public static void testAPI()
    {

    }

}

BaseTest.cs

代码语言:javascript
代码运行次数:0
运行
复制
[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();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-17 00:56:00

如果不希望API测试使用驱动程序,则不应该从设置驱动程序的BaseTest派生API夹具。

你可以尝试像这样的继承等级..。

代码语言:javascript
代码运行次数:0
运行
复制
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

基地夹具将设置日志和其他常见的东西。

UI库将设置驱动程序等。

API基础将执行API测试所需的任何设置

这种类型的设置分区正是安装所要做的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48836132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档