Jenkins部署Windows UI自动化的调度权限问题
2016-03-18 18:56
405 查看
有兄弟团队用jenkins做任务调度,对Windows上的应用通过Sikuli测试,发现Sikuli的 App.Open 无法加载应用,问我是啥原因。
对于Jenkins和Sikuli,我都是新手,通过网上的各种查找,终于找到原因和解决方案。
问题的原因挺简单的。这是Windows的一个安全机制导致。Jenkins把Windows作为一个node,部署了一个windows service在里面。平时,如果跑跑没有UI的调度还可以,当有UI交互出现时,Service跑在session 0,问题就来了。
解决方法有两个,
1. 比较笨拙的方法,那就是用psexec来解决,具体可以参见 http://stackoverflow.com/questions/22602951/open-excel-on-jenkins-ci/22610664#22610664
2. 另一种推荐的方法,就是不要让Jenkins作为一个service,而是作为Java web start,通过java -jar Jenkins.jar在windows上启动,就OK了。
另,网上说,只要在Service的属性里面标识允许与桌面互动,实际操作不现实,因为每当调度的时候,会跳出一个对话框,让当前用户授权,无法完全自动化。
对于Jenkins和Sikuli,我都是新手,通过网上的各种查找,终于找到原因和解决方案。
问题的原因挺简单的。这是Windows的一个安全机制导致。Jenkins把Windows作为一个node,部署了一个windows service在里面。平时,如果跑跑没有UI的调度还可以,当有UI交互出现时,Service跑在session 0,问题就来了。
解决方法有两个,
1. 比较笨拙的方法,那就是用psexec来解决,具体可以参见 http://stackoverflow.com/questions/22602951/open-excel-on-jenkins-ci/22610664#22610664
2. 另一种推荐的方法,就是不要让Jenkins作为一个service,而是作为Java web start,通过java -jar Jenkins.jar在windows上启动,就OK了。
另,网上说,只要在Service的属性里面标识允许与桌面互动,实际操作不现实,因为每当调度的时候,会跳出一个对话框,让当前用户授权,无法完全自动化。
相关文章推荐
- c#生成支付宝签名(hbuilder上调用)
- Arduino通过串口发送结构体
- 探秘Java中String、StringBuilder以及StringBuffer
- hbuilder上传图片
- 45.自定义导航栏 UINavigationBar
- java.lang.IllegalArgumentException: Result Maps collection does not contain value forcom.imooc.bean
- 扣丁学堂笔记第03天基础UI组件(一)
- iOS--通讯录(UITableViewController)
- SystemUI之功能介绍和UI布局实现
- iOS开发——UITableView(未完,待续...)
- UITableViewCell长按才会响应
- 改变UITextField placeHolder颜色、字体 、输入光标位置等
- UIView常用方法之setNeedsDisplay和setNeedsLayout
- easyui datagrid 悬浮事件
- 浅谈ios设计之使用表格UITableVIew设计通讯录的方法
- UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 0: illegal multibyte seque
- 多语言values文件夹创建
- UIBezierPath贝塞尔弧线常用方法记
- ios TableView那些事(三十 五)TableView 单选操作使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- 菜鸟成长记-UICollectionView使用