public class Desktop extends TestObject implements IClickable, IKeyable
| Modifier | Constructor and Description |
|---|---|
|
Desktop()
创建一个桌面,以(通过 RMI)连接到默认机器上的代理(若未指定系统属性,则为
localhost)。 |
protected |
Desktop(com.borland.silktest.jtf.internal.Agent agent) |
|
Desktop(String url)
创建一个桌面,以(通过 RMI)连接到指定主机上的代理。
|
| Modifier and Type | Method and Description |
|---|---|
void |
attach(String executablePattern)
附加到指定位置。
|
void |
attach(String executablePattern,
String commandLinePattern)
附加到与可执行模式和命令行模式匹配的指定应用程序。
|
void |
attach(String executablePattern,
String commandLinePattern,
TechDomain... techdomains)
附加到与可执行模式和命令行模式匹配的指定应用程序。
|
void |
attach(String executablePattern,
TechDomain... techdomains)
附加到给定应用程序,尝试启用指定 Techdomain。
|
void |
click()
单击对象。
|
void |
click(int button)
单击对象。
|
void |
click(int button,
Point pos)
单击对象。
|
void |
click(int button,
Point pos,
ModifierKey modifiers)
单击对象。
|
<T> T |
createAgentDllCall(Class<T> clz)
返回执行指定 Dll 调用接口的对象,该对象会将该接口的所有调用路由到将要加载 DLL 的代理,并执行调用。
|
<T> T |
createInProcessDllCall(Class<T> clz)
返回执行指定 Dll 调用接口的对象,该对象会将该接口的所有调用路由到将要加载 DLL 的 AUT,并执行调用。
|
String |
decrypt(String toDecrypt)
解密给定的字符串。
|
void |
detachAll()
将当前所有附加的应用程序分离。
|
void |
doubleClick()
双击对象上的鼠标按钮。
|
void |
doubleClick(int button)
双击对象上的鼠标按钮。
|
void |
doubleClick(int button,
Point pos)
双击对象上的鼠标按钮。
|
void |
doubleClick(int button,
Point pos,
ModifierKey modifiers)
双击对象上的鼠标按钮。
|
String |
encrypt(String toEncrypt)
加密给定的字符串。
|
<T extends TestObject> |
executeBaseState(IBaseState baseState)
确保被测试应用程序在运行中,并准备就绪,以供测试。
|
String |
getClipboardText()
返回当前系统剪贴板上的文字
|
Desktop |
getDesktop()
返回此对象的桌面。
|
Object |
getOption(String optionName)
检索代理选项的值。
|
Object |
getOption(String optionName,
TechDomain techDomain)
检索 tech 域特定选项的值。
|
void |
logError(String message)
将错误消息和完整桌面的屏幕截图记录到执行测试期间写的 TrueLog 文件。
|
void |
logError(String message,
TruelogScreenshotMode screenshotMode)
将错误消息和屏幕截图记录到执行测试期间写的 TrueLog 文件。
|
void |
logInfo(String message)
将信息性消息记录到执行测试期间写的 TrueLog 文件。
|
void |
logInfo(String message,
TruelogScreenshotMode screenshotMode)
将信息性消息和屏幕截图记录到执行测试期间写的 TrueLog 文件。
|
void |
logWarning(String message)
将警告消息记录到执行测试期间写的 TrueLog 文件。
|
void |
logWarning(String message,
TruelogScreenshotMode screenshotMode)
将警告消息和屏幕截图记录到执行测试期间写的 TrueLog 文件。
|
void |
mouseMove()
将指针移至对象中的指定位置。
|
void |
mouseMove(Point pos)
将指针移至对象中的指定位置。
|
void |
pressKeys(String keys)
按住(不松开)一组键或鼠标按钮。
|
void |
pressKeys(String keys,
boolean ensureFocus)
按住(不松开)一组键或鼠标按钮。
|
void |
pressMouse()
按住(不松开)对象上的鼠标按钮。
|
void |
pressMouse(int button)
按住(不松开)对象上的鼠标按钮。
|
void |
pressMouse(int button,
Point pos)
按住(不松开)对象上的鼠标按钮。
|
void |
pressMouse(int button,
Point pos,
ModifierKey modifiers)
按住(不松开)对象上的鼠标按钮。
|
void |
releaseKeys(String keys)
松开一组键或鼠标按钮。
|
void |
releaseKeys(String keys,
boolean ensureFocus)
松开一组键或鼠标按钮。
|
void |
releaseMouse()
松开鼠标按钮。
|
void |
releaseMouse(int button)
松开鼠标按钮。
|
void |
releaseMouse(int button,
Point pos)
松开鼠标按钮。
|
void |
releaseMouse(int button,
Point pos,
ModifierKey modifiers)
松开鼠标按钮。
|
void |
resetAllOptions()
将代理的所有选项重置为默认值。
|
void |
setClipboardText(String text)
向系统剪贴板内写入新的文字。
|
void |
setOption(String optionName,
Object optionValue)
设置一个代理选项。
|
void |
setOption(String optionName,
Object optionValue,
TechDomain... techDomains)
为给定的 tech 域设置一个选项。
|
void |
shutdownAgent()
调用此方法可确保 Open Agent 在测试运行后停止,例如在夜间执行测试后。
|
String |
toString()
返回一个包含类名和测试对象属性的字符串。
|
boolean |
tryVerifyAsset(String verificationAsset)
执行验证资产并返回验证是否通过。
|
void |
typeKeys(String keys)
发送一组按键至对象。
|
void |
typeKeys(String keys,
int delay)
发送一组按键至对象。
|
void |
typeKeys(String keys,
int delay,
boolean ensureFocus)
发送一组按键至对象。
|
void |
typePasswordKeys(String keys)
将加密的密码输入对象,例如文本字段。
|
void |
typePasswordKeys(String keys,
int delay)
将加密的密码输入对象,例如文本字段。
|
void |
typePasswordKeys(String keys,
int delay,
boolean ensureFocus)
将加密的密码输入对象,例如文本字段。
|
void |
unloadAllDllsFromAgent()
从代理上卸载当前加载的所有 DLL。
|
<T> boolean |
unloadDllFromAgent(Class<T> dll)
将指定的 DLL 从代理上卸载。
|
void |
verifyAsset(String verificationAsset)
执行验证资产。
|
captureBitmap, captureBitmap, exists, exists, generateLocator, getChildren, getDynamicMethodList, getParent, getPropertyList, getRect, getRect, getText, getValue, highlightObject, highlightObject, highlightObject, invokeMethods, textCapture, textCapture, textClick, textClick, textClick, textClick, textClick, textClick, textExists, textExists, textExists, textExists, textExists, textRectangle, textRectangle, textRectangle, textRectangle, textRectangle, waitForChildDisappearance, waitForChildDisappearance, waitForDisappearance, waitForDisappearance, waitForObject, waitForObject, waitForProperty, waitForPropertyequals, exists, find, find, findAll, findAll, getCustomTypeName, getHandle, getLocator, getProperty, getTypeName, hashCode, imageClick, imageClick, imageClick, imageClick, imageClick, imageClick, imageClickFile, imageClickFile, imageClickFile, imageClickFile, imageClickFile, imageClickFile, imageExists, imageExists, imageExists, imageExistsFile, imageExistsFile, imageExistsFile, imageRectangle, imageRectangle, imageRectangle, imageRectangleFile, imageRectangleFile, imageRectangleFile, invoke, preventFinalLocator, setPropertypublic Desktop()
localhost)。在本地机器环境中,如果没有运行中的代理,会自动启动一个代理。resetAllOptions() 完成此操作)。agentRmiHost 系统属性实现。可通过此方法在其他机器上重新执行脚本,无需作任何更改。-DagentRmiHost=10.5.2.3 通过命令行传递,则此方法可连接到指定主机上的代理。AgentConnectionException - 如果连接到代理失败。当没有运行中的代理或代理的端口被阻止时,会发生此情况。public Desktop(String url)
resetAllOptions() 完成此操作)。url - 打开代理的 URL。AgentConnectionException - 如果连接到代理失败。当主机无效,指定主机上没有运行中的代理或代理机器将端口阻止时,会发生此情况。
protected Desktop(com.borland.silktest.jtf.internal.Agent agent)
public <T extends TestObject> T executeBaseState(IBaseState baseState)
T - 由定位器指定的测试对象类型baseState - 包含执行基态所需的全部信息TestObject。BrowserBaseState,
public void attach(String executablePattern, TechDomain... techdomains)
注意Borland 推荐使用 attach(String) 自动加载 Techdomain。选择性的 Techdomain 加载是仅有特定情境需要的高级技术。
executablePattern - 应用程序的可执行名称。模式名称可包含通配符 '?' 和 '*',可匹配一个或多个字符。例如:myApplication.exemyApplica?ion.exemyApp*.exetechdomains - 应用程序中应加载的 tech 域。tech 域的常量定义在 TechDomain 中。
public void attach(String executablePattern, String commandLinePattern, TechDomain... techdomains)
*org.MyMainClass)。
注意Borland 推荐使用 attach(String, String) 自动加载 Techdomain。选择性的 Techdomain 加载是仅有特定情境需要的高级技术。
executablePattern - 应用程序的可执行名称。模式名称可包含通配符 '?' 和 '*',可匹配一个或多个字符。
例如:javaw.exejava*.execommandLinePattern - 此模式与应用程序的命令行参数相匹配。当一个应用程序(如:javaw.exe)有多个实例在运行,但仅应测试其中的部分实例时,这样做非常有用。对于 java 应用程序,命令行模式可以包含特征包或主类的名称,如:
*org.MyMainClass)。techdomains - 应用程序中应加载的 tech 域。tech 域的常量定义在 TechDomain 中。public void attach(String executablePattern)
executablePattern - 应用程序的可执行名称。模式名称可包含通配符 '?' 和 '*',可匹配一个或多个字符。
例如:myApplication.exemyApplica?ion.exemyApp*.exepublic void attach(String executablePattern, String commandLinePattern)
*org.MyMainClass)。executablePattern - 应用程序的可执行名称。模式名称可包含通配符 '?' 和 '*',可匹配一个或多个字符。
例如:javaw.exejava*.execommandLinePattern - 此模式与应用程序的命令行参数相匹配。
public void detachAll()
public Object getOption(String optionName)
desktop.getOption(CommonOptions.OPT_WAIT_RESOLVE_OBJDEF)optionName - 选项名称。关于可用的选项列表,可参见 CommonOptions。public Object getOption(String optionName, TechDomain techDomain)
optionName - 要查看可用选项列表,可参见 CommonOptions。techDomain - tech 域。public void setOption(String optionName, Object optionValue, TechDomain... techDomains)
desktop.setOption(CommonOptions.OPT_CUSTOM_ATTRIBUTES, Arrays.asList("automationId"), TechDomain.SWT, TechDomain.WIN32)optionName - 选项名称。关于可用的选项列表,可参见 CommonOptions。techDomains - tech 域的名称。optionValue - 选项的值
public void setOption(String optionName, Object optionValue)
desktop.setOption(CommonOptions.OPT_WAIT_RESOLVE_OBJDEF, true)optionName - 选项名称。关于可用的选项列表,可参见 CommonOptions。optionValue - 选项的值。
public void resetAllOptions()
public String encrypt(String toEncrypt)
toEncrypt - 要加密的字符串public String decrypt(String toDecrypt)
encrypt 方法加密的字符串。toDecrypt - 要解密的字符串public String getClipboardText()
public void setClipboardText(String text)
text - 剪贴板上的新文字
public <T> T createInProcessDllCall(Class<T> clz)
DllCall.createInProcessDllCall(Class, Desktop) 方法得到的结果相同。T - 要支持的 DLL 调用接口clz - 要支持的 DLL 调用接口类public <T> T createAgentDllCall(Class<T> clz)
DllCall.createAgentDllCall(Class, Desktop) 方法得到的结果相同。T - 要支持的 DLL 调用接口clz - 要支持的 DLL 调用接口类public <T> boolean unloadDllFromAgent(Class<T> dll)
T - 要卸载的 DLL 类型dll - 要卸载的 DLL 对象public void unloadAllDllsFromAgent()
public Desktop getDesktop()
AbstractTestObjectgetDesktop in class AbstractTestObjectpublic String toString()
AbstractTestObjecttoString in class AbstractTestObjectpublic void logInfo(String message)
message - 要记录的消息
public void logInfo(String message, TruelogScreenshotMode screenshotMode)
message - 要记录的消息screenshotMode - 决定应记录的是完整桌面、活动应用程序还是活动窗口的屏幕截图。
public void logWarning(String message)
message - 要记录的警告
public void logWarning(String message, TruelogScreenshotMode screenshotMode)
message - 要记录的警告screenshotMode - 决定应记录的是完整桌面、活动应用程序还是活动窗口的屏幕截图。
public void logError(String message)
message - 要记录的错误
public void logError(String message, TruelogScreenshotMode screenshotMode)
message - 要记录的错误screenshotMode - 决定应记录的是完整桌面、活动应用程序还是活动窗口的屏幕截图。
public void verifyAsset(String verificationAsset)
verificationAsset - .verification 文件的名称。文件扩展名可省略。VerificationFailedException - 若未通过验证。ObjectNotFoundException - 若找不到要验证的 UI 对象
public boolean tryVerifyAsset(String verificationAsset)
verificationAsset - .verification 文件的名称。文件扩展名可省略。ObjectNotFoundException - 若找不到要验证的 UI 对象
public void shutdownAgent()
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
desktop.shutdownAgent();
}
}));
public void click()
IClickable示例使用情况
例如,要单击控件中的某个位置,请键入以下内容:
control.click (MouseButton.LEFT, new Point(244, 16));
以下示例使用鼠标左键单击控件中心:
control.click ();
click in interface IClickablepublic void click(int button)
IClickable示例使用情况
例如,要单击控件中的某个位置,请键入以下内容:
control.click (MouseButton.LEFT, new Point(244, 16));
以下示例使用鼠标左键单击控件中心:
control.click ();
click in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...public void click(int button,
Point pos)
IClickable示例使用情况
例如,要单击控件中的某个位置,请键入以下内容:
control.click (MouseButton.LEFT, new Point(244, 16));
以下示例使用鼠标左键单击控件中心:
control.click ();
click in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此单击public void click(int button,
Point pos,
ModifierKey modifiers)
IClickable示例使用情况
例如,要单击控件中的某个位置,请键入以下内容:
control.click (MouseButton.LEFT, new Point(244, 16));
以下示例使用鼠标左键单击控件中心:
control.click ();
click in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此单击modifiers - 修饰符public void doubleClick()
IClickabledoubleClick in interface IClickablepublic void doubleClick(int button)
IClickabledoubleClick in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...public void doubleClick(int button,
Point pos)
IClickabledoubleClick in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此单击public void doubleClick(int button,
Point pos,
ModifierKey modifiers)
IClickabledoubleClick in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此单击modifiers - 修饰符public void mouseMove()
IClickablemouseMove in interface IClickablepublic void mouseMove(Point pos)
IClickablemouseMove in interface IClickablepos - 新位置坐标(相对于窗口)public void pressMouse()
IClickablepressMouse in interface IClickablepublic void pressMouse(int button)
IClickablepressMouse in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...public void pressMouse(int button,
Point pos)
IClickablepressMouse in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此点按鼠标public void pressMouse(int button,
Point pos,
ModifierKey modifiers)
IClickablepressMouse in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此点按鼠标modifiers - 修饰符public void releaseMouse()
IClickablereleaseMouse in interface IClickablepublic void releaseMouse(int button)
IClickablereleaseMouse in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...public void releaseMouse(int button,
Point pos)
IClickablereleaseMouse in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此松开鼠标public void releaseMouse(int button,
Point pos,
ModifierKey modifiers)
IClickablereleaseMouse in interface IClickablebutton - 可点按的鼠标按钮。值包括:1= 左键,2= 右键,3= 中键...pos - 坐标(相对于对象),在此松开鼠标modifiers - 修饰符public void pressKeys(String keys)
IKeyable有效按键包括:
public void pressKeys(String keys, boolean ensureFocus)
IKeyable有效按键包括:
public void releaseKeys(String keys)
IKeyable有效按键包括:
releaseKeys in interface IKeyablekeys - 可松开的键或鼠标按钮public void releaseKeys(String keys, boolean ensureFocus)
IKeyable有效按键包括:
releaseKeys in interface IKeyablekeys - 可松开的键或鼠标按钮ensureFocus - 确定控件是否一定具有按键焦点。默认为 truepublic void typeKeys(String keys)
IKeyable有效按键包括:
示例使用情况例如,以下代码通过按 Ctrl+C 复制当前所选文本至剪贴板:
window.typeKeys ("<Left Ctrl+C>");
public void typeKeys(String keys, int delay)
IKeyable有效按键包括:
示例使用情况例如,以下代码通过按 Ctrl+C 复制当前所选文本至剪贴板:
window.typeKeys ("<Left Ctrl+C>");
public void typeKeys(String keys, int delay, boolean ensureFocus)
IKeyable有效按键包括:
示例使用情况例如,以下代码通过按 Ctrl+C 复制当前所选文本至剪贴板:
window.typeKeys ("<Left Ctrl+C>");
public void typePasswordKeys(String keys)
IKeyable如果对象支持 SetText 方法,那么在输入加密的密码前,任何现有文本都将清空。
示例使用情况
示例用法
例如,以下代码对字符串加密并将其打印到控制台:
String encryptedPassword = desktop.encrypt("my password");
System.out.println(encryptedPassword);
然后,您可以从控制台中复制加密的密码,在这种情况下是 6Fk+Bcm+GoXe3X0=,并按照如下所示的方式使用:
textField.typePasswordKeys("6Fk+Bcm+GoXe3X0=");
typePasswordKeys in interface IKeyablekeys - 加密密码public void typePasswordKeys(String keys, int delay)
IKeyable如果对象支持 SetText 方法,那么在输入加密的密码前,任何现有文本都将清空。
示例使用情况
示例用法
例如,以下代码对字符串加密并将其打印到控制台:
String encryptedPassword = desktop.encrypt("my password");
System.out.println(encryptedPassword);
然后,您可以从控制台中复制加密的密码,在这种情况下是 6Fk+Bcm+GoXe3X0=,并按照如下所示的方式使用:
textField.typePasswordKeys("6Fk+Bcm+GoXe3X0=");
typePasswordKeys in interface IKeyablekeys - 加密密码delay - 按键之间延迟时间(毫秒)public void typePasswordKeys(String keys, int delay, boolean ensureFocus)
IKeyable如果对象支持 SetText 方法,那么在输入加密的密码前,任何现有文本都将清空。
示例使用情况
示例用法
例如,以下代码对字符串加密并将其打印到控制台:
String encryptedPassword = desktop.encrypt("my password");
System.out.println(encryptedPassword);
然后,您可以从控制台中复制加密的密码,在这种情况下是 6Fk+Bcm+GoXe3X0=,并按照如下所示的方式使用:
textField.typePasswordKeys("6Fk+Bcm+GoXe3X0=");
typePasswordKeys in interface IKeyablekeys - 加密密码delay - 按键之间延迟时间(毫秒)ensureFocus - 确定控件是否一定具有按键焦点。默认为 trueCopyright 2009-2012 Micro Focus. All Rights Reserved.