Skip to content
main
Switch branches/tags
Code

Alt text BrowserStack Automate REST API .NET Client

NuGet

Build Status

Build status

Overview

This repository contains a .NET client library/NuGet package for the BrowserStack Automate REST API.

Features include:

  • Querying the status of a BrowserStack Automate plan.
  • Querying the available browsers.
  • Querying and deleting builds.
  • Querying and deleting projects.
  • Querying and deleting sessions.
  • Querying session log.
  • Setting the status of a session.
  • Regenerating the API access key.

The assembly supports .NET Core (via .NET Standard 1.3 and .NET Standard 2.0) and .NET Framework 4.5.1.

Installation

Install-Package MartinCostello.BrowserStack.Automate

Usage Examples

The following example shows a custom xUnit.net [Trait] that checks for an available BrowserStack Automate session before running the test, otherwise it is skipped.

namespace MyApp.Tests
{
    using System;
    using System.Configuration;
    using MartinCostello.BrowserStack.Automate;
    using Xunit;

    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
    public sealed class RequiresBrowserStackAutomateAttribute : FactAttribute
    {
        public RequiresBrowserStackAutomateAttribute()
        {
            string userName = Environment.GetEnvironmentVariable("BrowserStack_UserName");
            string accessKey = Environment.GetEnvironmentVariable("BrowserStack_AccessKey");

            var client = new BrowserStackAutomateClient(userName, accessKey);
            var plan = client.GetStatusAsync().Result;

            if (plan.MaximumAllowedParallelSessions < 1 ||
                plan.ParallelSessionsRunning == plan.MaximumAllowedParallelSessions)
            {
                Skip = "No BrowserStack Automate sessions are currently available.";
            }
        }
    }
}

Feedback

Any feedback or issues can be added to the issues for this project in GitHub.

Repository

The repository is hosted in GitHub: https://github.com/martincostello/browserstack-automate.git

License

This project is licensed under the Apache 2.0 license.

Building and Testing

To build and test the assembly run one of the following set of commands:

$env:BrowserStack_UserName  = "MyUserName"
$env:BrowserStack_AccessKey = "MyAccessKey"
./build.ps1

If you do not have a BrowserStack Automate access key you can still just run the build script and the integration tests that require credentials will be skipped.