创建一个针对文本框,文本域的 RFT 对象

本文介绍了一个名为WTextField的Java类,该类继承自GuiTestObject并提供了多种方法用于操作文本字段,包括设置文本、清除文本、通过剪贴板设置文本等。文章详细解释了每个方法的功能及其实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import com.rational.test.ft.object.interfaces.GuiTestObject;
import com.rational.test.ft.script.RationalTestScript;

import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;

public class WTextField extends GuiTestObject {
 
 public WTextField(TestObject textfield) {
  super(textfield);
 }

 public void click()
 {
  super.click();
 }
 
 public void setText(String s) {
  
  this.click(); //activate text field
  this.clearText();
  this.inputKeys(escapeSpecialChars(s));
 }

 protected static String escapeSpecialChars(String s){
  if (s == null) return null;
  //must replace curly braces first or they keep getting added.
  String[] re_chars = { "{", "}", "~", "(", ")",  "+", "^", "%" };
  for (int i = 0; i< re_chars.length; i++){
   s = Stringfuncs.replace(s, re_chars[i], "{" + re_chars[i] + "}");
  }
  
  return s;

 }


 public void clearText()
 {
  this.inputKeys("^a{ExtDelete}");
 }

 public void typeKeys(String s)
 {
  this.click();
  this.inputKeys(s);
 }
 
 protected void inputKeys(String s)
 {
  RationalTestScript.getScreen().inputKeys(s);
 }
 
 public void setTextInputChars(String s)
 {  
  this.click(); //activate text field
  this.clearText();
  this.inputChars(s);
 }
 
 public void typeChars(String s)
 {
  this.click();
  inputChars(s);
 }

 protected void inputChars(String s)
 {
  RationalTestScript.getScreen().inputChars(s);
 }

 public String getText() {
  return this.getProperty(".value").toString();
 }
 
 
 public void setTextThruClipboard(String s)
 {
  this.clearText();
  
  //set clipboard content with specified string 
  this.setClipboardText(s);

  //paste clipboard contents
  this.typeKeys("^v");
 }
 
 protected void setClipboardText(String s)
 {

  //get clipboard object
  Clipboard clip = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();

  //set clipboard contents
  StringSelection ss = new java.awt.datatransfer.StringSelection(s);
  clip.setContents(ss, ss);
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值