有没有办法通过 nunit 或 nunit-console 查看硒测试是否 运行?
Is there a way to see if a selenium test is being ran via nunit or nunit-console?
所以,我有合理数量的 Selenium 测试。我希望他们通过批处理脚本、nunit-console 和 RemoteWebDriver 在后台安静地 运行。我已经有了这个设置。我还希望能够 运行 使用 nunit 在 visual studio 2013 中与其他驱动程序进行相同的测试(与我一起观看、调试、编写新测试等...)。我已经设置好了。问题是我希望能够同时 运行 它们。
我正在考虑检查调用程序是 nunit 还是 nunit-console 以确定使用哪个驱动程序,但我有点不确定应该如何设置它。
我考虑过:
bool isConsole = Process.GetProcessesByName("nunit-console")
.FirstOrDefault(p => p.MainModule.FileName.StartsWith(@"C:\Program Files (x86)\NUnit 2.6.4\bin")) != default(Process);
if (isConsole)
{
// remote
}
else
{
// ff,chrome,etc...
}
但是,这不允许我 运行 在后台安静地 运行 在视觉工作室中进行单独测试。
我不确定您在 运行 进行 selenium 测试时是否有任何不同,但是对于正常的 nunit 测试,您可以这样做:
if("nunit" == Process.GetCurrentProcess().ProcessName)) {
...
}
这会获取实际执行测试的进程的名称,而不仅仅是检查进程当前是否正在 运行ning 在机器上。
运行 从 visual studio 中,我得到进程名称 "vstest.executionengine.x86",从控制台,我得到 "nunit-console",从 gui 我得到 "nunit".
根据您运行在其下进行测试的进程模型,您可能需要检查父进程,而不是当前进程。将 Nunit 配置为 运行 在单独的进程中进行测试,报告的带有上述代码的进程名称为 "nunit-agent"。出于某种原因,目前我无法在这种模式下将 nunit-console 设置为 运行,所以我不知道它是否有不同的进程名称供您使用。
如果您确实需要跟踪进程调用堆栈以查看父进程是什么,this question.
上有一些关于如何执行此操作的优秀答案
所以,我有合理数量的 Selenium 测试。我希望他们通过批处理脚本、nunit-console 和 RemoteWebDriver 在后台安静地 运行。我已经有了这个设置。我还希望能够 运行 使用 nunit 在 visual studio 2013 中与其他驱动程序进行相同的测试(与我一起观看、调试、编写新测试等...)。我已经设置好了。问题是我希望能够同时 运行 它们。
我正在考虑检查调用程序是 nunit 还是 nunit-console 以确定使用哪个驱动程序,但我有点不确定应该如何设置它。
我考虑过:
bool isConsole = Process.GetProcessesByName("nunit-console")
.FirstOrDefault(p => p.MainModule.FileName.StartsWith(@"C:\Program Files (x86)\NUnit 2.6.4\bin")) != default(Process);
if (isConsole)
{
// remote
}
else
{
// ff,chrome,etc...
}
但是,这不允许我 运行 在后台安静地 运行 在视觉工作室中进行单独测试。
我不确定您在 运行 进行 selenium 测试时是否有任何不同,但是对于正常的 nunit 测试,您可以这样做:
if("nunit" == Process.GetCurrentProcess().ProcessName)) {
...
}
这会获取实际执行测试的进程的名称,而不仅仅是检查进程当前是否正在 运行ning 在机器上。
运行 从 visual studio 中,我得到进程名称 "vstest.executionengine.x86",从控制台,我得到 "nunit-console",从 gui 我得到 "nunit".
根据您运行在其下进行测试的进程模型,您可能需要检查父进程,而不是当前进程。将 Nunit 配置为 运行 在单独的进程中进行测试,报告的带有上述代码的进程名称为 "nunit-agent"。出于某种原因,目前我无法在这种模式下将 nunit-console 设置为 运行,所以我不知道它是否有不同的进程名称供您使用。
如果您确实需要跟踪进程调用堆栈以查看父进程是什么,this question.
上有一些关于如何执行此操作的优秀答案