关于 LDTP 操纵 windows 控件。
LDTP doc:
对于 web 自动化,我们用 Selenium, 但是对于 windows 控件,我们可以使用 LDTP。
首先,需要引用的 jar 包。
commons-codec-1.6.jar
commons-logging-1.1.2.jar
LDTP.jar
ws-commons-util-1.0.2.jar
xmlrpc-client-3.1.3.jar
xmlrpc-common-3.1.3.jar
上面第一个是安装 vmware 的 LDTP。
(对,java调用pywinauto时,需要依赖jep这个桥梁来把java的命令变成python端的,jep就是负责传递命令的)
由于 CobraWinLDTP.exe 是 server 端,所以先需要在命令行中启动 CobraWinLDTP.exe。
然后看代码:
import com.cobra.ldtp.Ldtp;
public class TestLdtp {
public static void main(String[] args) {
Ldtp ldtp = new Ldtp("abc");
String[] wins = ldtp.getWindowList();
for (String win : wins)
{
System.out.println(win);
}
}
}
====打印结果====
frmEclipse SDK
frm?????? - ??? - Mozilla Firefox
frmNew Tab
frmWeChat
frmD:\EclipseSpaceNew\LdtpTestNew\lib
frmC:\Program Files (x86)\VMware\CobraWinLDTP
frmAdministrator: Command Prompt - CobraWinLDTP.exe
frmUntitled - Paint
lst0
paneProgram Manager
上面代码中的 "abc" 是随便一个名字。这段代码可以打印出所有的 frame。然后你找到你需要的,就可以继续操作了。
下面是打开 notepad 后一些操作的代码
import com.cobra.ldtp.Ldtp;
public class TestLdtp {
public static void main(String[] args) {
String winStr = "frmUntitled - Notepad"; //Open Notepad first please
Ldtp ldtp = new Ldtp(winStr);
String[] wins = ldtp.getWindowList(); //Print all windows
for (String win : wins)
{
System.out.println(win);
}
ldtp.activateWindow(winStr);
System.out.println("=================");
String[] objects = ldtp.getObjectList(); //Print all objects
for (String ob : objects)
{
System.out.println(ob);
}
// ldtp.click("mnuView"); //This can click the View menu
ldtp.selectMenuItem("View;Status Bar"); //Click View > Status Bar
ldtp.appendText("txtTextEditor", "hello allen");
}
}
frmEclipse SDK
frmUntitled - Notepad
frm?????? - ??? - Mozilla Firefox
frmNew Tab
frmslc12dkq-16-2012-OBIEEServer - Remote Desktop Connection Manager v2.2
frmD:\sw\UIAVerify2.0_x86
frmNow Playing
frmAdministrator: Command Prompt - CobraWinLDTP.exe
frmD:\00????
pane1
pane2
paneChatContactMenu
lst0
paneProgram Manager
=================
txtTextEditor
uknVertical
btnLineup
btnLinedown
uknHorizontal
btnColumnleft
btnColumnright
ukn2
ukn3
lbl0
lblLn1,Col1
ukn4
mnuSystem
mnuSystem1
btnMinimize
btnMaximize
btnClose
mnuApplication
mnuFile
mnuEdit
mnuFormat
mnuView
mnuHelp
关于 LDTP 操纵 windows 控件。的更多相关文章
- 在web中使用windows控件,实现摄像头功能
最近做的一个Web版的视频会议项目,需要在网页中播放来自远程摄像头采集的实时视频,我们已经有了播放远程实时视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,A ...
- 在Web中使用Windows控件
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 将Net控件转化为ActiveX控件 1GUID 2实现IObjectSafety接口 3程序集设定 制作安装程序 Web集 ...
- 向ArcGIS的ToolBarControl中添加任意的windows控件的方法
概要:在使用ArcEngine开发中,给ToolbarControl添加按钮形式的命令项相信大家都很熟悉了,因为网上的例子很多.但这种使用click调用功能的方式只能满足大部分用户在体验方面的需求,除 ...
- ArcGIS ElementLayer上放置Windows控件
ElementLayer是ArcGIS API for Silverlight/WPF中的一种图层类型,主要用来承载Silverlight/WPF中的UIElement对象(UIElement),使用 ...
- 在Web中如何使用Windows控件(ActiveX)[转]
最近做的一个Web项目,需要在网页中播放摄像头采集的实时视频,我们已经有了播放视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,ActiveX. 1.将.Ne ...
- Delphi对象变成Windows控件的前世今生(关键是设置句柄和回调函数)goodx
----------------------------------------------------------------------第一步,准备工作:预定义一个全局Win控件变量,以及一个精简 ...
- 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用
Dixon 原文 用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署 ...
- [修正] Berlin Firemonkey Windows 控件左方显示虚线问题
说明:在 Wndows 显示时,有时控件左方会显示一条虚线 适用:Berlin Firemonkey 修正方法: 请将源码 FMX.Platform.Win.pas 复制到自己的工程目录里,再进行修改 ...
- windows控件理论学习
mmp快考试了还在浪 一.对话框编辑器创建控件 1.使用new在堆上创建,系统结束时我们需要使用delete去销毁控件 2.对话框编辑器控件,程序结束,自动销毁 二.控件类的基类 CWnd类和消息映射 ...
随机推荐
- java常用的加密技术
详见:https://blog.csdn.net/it_beecoder/article/details/71480770 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以 ...
- Delphi 参数的传递
- stm32 development
1.www.st.com st官网 2.www.stmcu.com.cn st中文网 3.www.stmcu.org.cn st中文社区
- vm安装ubantu的详细过程(转载)
这里转载一个非常实用的vm虚拟机安装linux系统的文章有需要的可以看下面链接: https://blog.csdn.net/u013142781/article/details/50529030
- Lomsat gelral CodeForces - 600E (树上启发式合并)
You are given a rooted tree with root in vertex 1. Each vertex is coloured in some colour. Let's cal ...
- java代码中的坑
1.Integer 类型数值比较: public static void main(String[] args) { // TODO Auto-generated method stu ...
- highcharts的基本使用(转载)
1 概述 Highcharts是一个跨浏览器的JavaScript图表控件,支持柱状图.趋势图.面积图.饼图.环形图.组合图.堆积图.散点图. Highcharts图表的基本功能,只需要引入两个JS类 ...
- 第07课:【实战】调试Redis准备工作
7.1 Redis源码下载与编译 Redis源码下载与编译在前面已经说过了,同学们可以去第04课:GDB常用命令详解(上)学习. 编译成功后,会在src目录下生成多个可执行程序,其中redis-ser ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理]
[易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理] 实用知识 错误处理 我们今天来讲讲Rust中的错误处理. 很多语言都有自己的错误处理方式,比如,java是异常处理机制. ...
- django初步--+urls解析
1.静态文件配置: 你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的. 2.django如何给用户开设资源接口 ...