用Jenkins执行c#单元测试

时间:2017-07-06 18:45:50

标签: c# unit-testing powershell selenium jenkins

我正在通过Windows Jenkins运行c#单元测试,并且在执行测试时,控制台输出窗口显示所有测试的相同错误:

  

错误讯息:      测试方法Levan_Test引发异常:   System.ComponentModel.Win32Exception:拒绝访问   堆栈跟踪:       在System.Windows.Forms.SendKeys.SendInput(Byte [] oldKeyboardState,Queue previousEvents)      在System.Windows.Forms.SendKeys.Send(字符串键,控件控件,布尔等待)      在System.Windows.Forms.SendKeys.SendWait(String keys)

看起来权限或电源shell命令执行存在一些问题。

代码段:

Thread.Sleep(1000);
driver.FindElement(By.XPath("//*[@id=\"solutionsDropdown\"]/div/i")).Click();
Thread.Sleep(1000);
driver.FindElement(By.XPath("//*[@id=\"solutionsDropdown\"]/ul/li[2]/a")).Click();
Thread.Sleep(1000);
SendKeys.SendWait("{Enter}");

1 个答案:

答案 0 :(得分:0)

经过大量研究后我发现:如果您将Jenkins作为服务运行,它就无法处理与桌面交互的内容,例如Windows表单应用程序。您可能希望使用JNLP作为运行这些测试的普通用户在桌面上运行构建代理。

相关问题