batch-file - 批处理窗口命令行不能与 Jenkins 一起使用,而可以手动工作

标签 batch-file selenium jenkins selenium-webdriver nunit

我使用 Selenium Webdriver 框架创建了一个 Nunit 测试。 当我使用 cmd.exe 手动启动它时,它可以工作: it works.

但是当我用 Jenkins 启动它时,它不起作用: it doesn't work.

这就是我启动它的方式:(翻译:“执行批处理 Windows 命令行”)it works.

我将所有权利授予了 Jenkins: 他可以与桌面交互:

翻译: “打开一个 session :

  • 本地系统帐户
    • 允许服务与桌面交互)”

it works.

我也尝试使用 Windows session ID 启动它,错误有所不同,但仍然不起作用。

我必须准确地说,这里的 Jenkins 运行在 Windows Server 2012(具有管理员权限)上,并且我已经在我的个人计算机(W7 和 W8.1)上启动了测试,没有问题。

在这种情况下,我怎样才能让我的测试与 Jenkins 一起工作?

最佳答案

这可能很简单,因为 Jenkins 代理生成页面及其内容的速度不如本地计算机那么快。

尝试在失败的测试中添加隐式等待。

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));

隐式等待是告诉 WebDriver 在尝试查找一个或多个元素(如果它们不能立即可用)时轮询 DOM 一段时间。默认设置为 0。设置后,将在 WebDriver 对象实例的生命周期内设置隐式等待。

关于batch-file - 批处理窗口命令行不能与 Jenkins 一起使用,而可以手动工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33689131/

相关文章:

Jenkins 多分支作业,每个阶段都有声明式管道克隆存储库

batch-file - Bat 文件目录列表,删除文本条目

java - Windows批处理文件: How to redirect console logs of a background process to 'NUL'

python - 如何在Python中访问批处理脚本变量?

javascript - Protractor 测试不适用于 IE,但适用于 FF/Chrome/Safari

java - 如何在html中选择嵌套的web元素?

batch-file - 使用调用 <file.bat> 结果为 "sleep is not recognized as an internal or external command.."

java - 如何在 Selenium 测试方法中传递 "By"和字符串?

android - 作为 CI 系统的一部分,如何加速执行 Android UI 测试

recursion - 如何将文件夹的内容递归归档为 Jenkins 上的工件?