Запуск параллельного теста с PNunit, не могу прочитать из файла конфигурации
Я хочу провести тесты pararell в Browserstack. Это мой тестовый проект
RTest (Модульный тестовый проект в VS 2013)
-UnitTest1.cs
-RTest.config
Я открываю Nunit и просматриваю мой dll bin/debug/RTest.dll, и Nunit находит мой тестовый пример
Проблема Мой файл RTest.config выглядит так:
<TestGroup>
<ParallelTests>
<ParallelTest>
<Name>Testing</Name>
<Tests>
<TestConf>
<Name>TestFF-20-Win8</Name>
<Assembly>RTest.dll</Assembly>
<TestToRun>RTest.UnitTest1.TestCase</TestToRun>
<Machine>localhost:8080</Machine>
<TestParams>
<string>firefox</string> <!--browserName -->
<string>20.0</string> <!-- version -->
<string>Windows</string><!-- os -->
<string>8</string><!-- os_version -->
</TestParams>
</TestConf>
<TestConf>
<Name>TestFF-21-win7</Name>
<Assembly>RTest.dll</Assembly>
<TestToRun>Test.UnitTest1.TestCase</TestToRun>
<Machine>localhost:8080</Machine>
<TestParams>
<string>firefox</string>
<!--browserName -->
<string>21.0</string>
<!-- version -->
<string>Windows</string>
<!-- os -->
<string>7</string>
<!-- os_version -->
</TestParams>
</TestConf>
</Tests>
</ParallelTest>
</ParallelTests>
</TestGroup>
Мой UnitTest1.cs выглядит так:
using NUnit.Framework;
using PNUnit.Framework;
using System;
using System.Web;
using System.Text;
using System.Net;
using OpenQA.Selenium;
using OpenQA.Selenium.Remote;
namespace RTest
{
[TestFixture()]
public class UnitTest1
{
private IWebDriver driver;
private string[] testParams;
[SetUp]
public void Init()
{
testParams = PNUnitServices.Get().GetTestParams();
String params1 = String.Join(",", testParams);
Console.WriteLine(params1);
String browser = testParams[0];
String version = testParams[1];
String os = testParams[2];
String os_version = testParams[3];
DesiredCapabilities capability = new DesiredCapabilities();
capability.SetCapability("browserName", browser);
capability.SetCapability(CapabilityType.Version, version);
capability.SetCapability("os", os);
capability.SetCapability("os_version", os_version);
capability.SetCapability("browserstack.user", "testUser");
capability.SetCapability("browserstack.key", "testPW");
Console.WriteLine("Capabilities" + capability.ToString());
driver = new RemoteWebDriver(new Uri("http://hub.browserstack.com:80/wd/hub/"), capability);
}
[Test]
public void TestCase()
{
driver.Navigate().GoToUrl("http://www.google.com");
StringAssert.Contains("Google", driver.Title);
IWebElement query = driver.FindElement(By.Name("q"));
query.SendKeys("Browserstack");
query.Submit();
}
[TearDown]
public void Cleanup()
{
driver.Quit();
}
}
}
Когда я запускаю тест, я получаю, что mInstance равен нулю... Что я здесь не так делаю?
2 ответа
PNunit долгое время не поддерживается. Я нашел новый распределенный бегун с открытым исходным кодом, который может запускать тесты NUnit в распределенном и параллельно, вы можете проверить документацию проектов.
В общем, у вас есть тестовый контроллер и тестовые агенты. Тестовые агенты запускают ваши тесты. Сначала запустите сервер
meissa.exe initServer
- Запустите агент тестирования на одном или нескольких компьютерах:
meissa.exe testAgent --testAgentTag = "APIAgent" --testServerUrl = "http: // IPServerMachine: 5000"
- Запустите ваши тесты, указав URL сервера
meissa.exe runner --resultsFilePath="pathToResults\result.trx" --outputFilesLocation="pathToBuildedFiles" --agentTag="NUnit" --testTechnology="MSTestCore" --testLibraryPath="pathToBuildedFiles\SampleT"
Это здорово, так как вам не нужны никакие файлы конфигурации или изменения кода вообще. Он может работать с проектами.NET Framework и.NET Core.