捕获或添加对象时的模式切换

当我们使用对象库添加对象时一旦点击了“Add objects to local”按钮后就只能抓取对象而无法进行其他任何操作,但常常我们会遇到这样的问题:在一个页面上添加对象后需要切换到另一个Web页面添加另一个对象,于是便用到了QTP提供的捕获或添加对象时两种模式的切换功能,该功能使得切换后可以停止对控件的抓取,并还可以对被测对象进行操作。下面介绍下这两种模式及其切换功能。

1 .半操作模式-----CTRL 键                   支持点击

2.全模式操作-----CTRL+ALT键          支持点击和键盘输入

半操作模式详解

当使用"object Repository" 并点击“Add objects to local”按钮后,鼠标便处于捕获对象的状态,这个时候是不可以做任何操作的,只能抓取想要的对象,而当按住CTRL键并保持不放开,就可以做点击动作了,比如切换网页、拉动滚动条等等,当放开CTRL键时,也便恢复到抓取对象的模式了。

全操作模式详解

全操作模式就是支持任何操作,包括点击和键盘输入。当处在抓取对象的模式下按住CTRL键不放,然后再按下ALT键,紧接着先松开CTRL键再松开ALT键,这样就已经成功切换到全操作模式了,这样就可以对网页进行随意操作了(比如输入数据,点击登录,切换网页等等)当经过一番页面操作后出现想要的对象后,通过按住CTRL键然后松开,便切换回抓取对象的模式了,这个时候就可以抓取自己想要的对象了。

有了这两种模式的切换解决好多因其他点击操作无法显示的对象(比如好多输入框的模糊比配下拉框),同时避免了因寻找想要的对象及页面频繁取消点击“Add objects to local”按钮的大量时间和精力。从而大大提高了对象添加的时间。

时间: 2024-10-02 07:22:04

捕获或添加对象时的模式切换的相关文章

python列表中添加对象时的注意

最近在用python写代码,用到了对象数组.在c++中我们要使用能够灵活操作的对象数组,一般会用stl的vector类,该类的push_back方法可以将一个对象的拷贝加入到vector对象中,所以当使用[]下标对vector的元素进行修改时,原来的作为push_back参数的那个对象的值并不会改变.python中类似的方法是列表的append方法,但是要注意此时若加入到列表中的是基础数据类型,则是值传递,若是对象,则是引用传递.这种参数的传递方式和java一样.因此,在python中通过列表下

10.$和#的区别 | 11.添加对象时如何把生成的id返回

一. Mybatis中$和#的区别. 1. $: 解析时不会为内容添加”” 他是sql语句的拼接存在sql注入的危害.传入的为表结构时. 2. #: 解析时会为内容添加””,它的sql时采用占位符,防止sql注入. 11.添加对象时如何把生成的id返回   用:keyProperty="id" 1 <!--逆向工程自动生成--> 2 <insert id="insertSelective" parameterType="com.zhiyo

List循环添加对象时遇到问题的解决

1 var temp=new handleData(); 2 foreach(var t in data) 3 { 4 temp.DataValue = t.DataValue; 5 temp.CreateTime = t.CreateTime; 6 data1.Add(temp); 7 } 最后的结果是data里面的数据都是一样的 原因:temp是引用类型,所以最后都是最后一次改变的temp的值 解决办法:在循环里每一次都加new一下 foreach(var t in data) { temp

Dom4j解析语音数据XML文档(注意ArrayList多次添加对象,会导致覆盖之前的对象)

今天做的一个用dom4j解析声音文本的xml文档时,我用ArrayList来存储每一个Item的信息,要注意ArrayList多次添加对象,会导致覆盖之前的对象:解决方案是在最后将对象添加入ArrayLis时先new 一个对象,然后将之前那个对象的属性set到新的对象中,之后在加入到 ArrayList,就不会出错了. package parseXML; import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.E

Effective C++_笔记_条款12_复制对象时勿忘其每一个成分

(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 编译器会在必要时候为我们的classes创建copying函数,这些“编译器生成版”的行为:将被烤对象的所有成员变量都做一份拷贝. 如果你声明自己的copying函数,意思就是告诉编译器你并不喜欢缺省实现中的某些行为.编译器仿佛被冒犯似的,会以一种奇怪的方式回敬:当你的实现代码几乎必然出错时却不告诉你.所以自己实现copying函数时,请遵循一条规则:如果你为c

条款12:复制对象时请勿忘每一个成分

条款12:复制对象时请勿忘每一个成分 当为一个类实现自己的构造函数,相关赋值函数,析构函数,则必须有责任对类中的每一个成员进行初始化.赋值.释放.因此:如果为一个类添加一个成员,就必须同时相应修改上面几类函数. 看一个简单的类 class Terminal { Terminal(const int termid) : m_termId(termid) {} ~Terminal() {} Terminal(const Terminal & terminal) { this->m_termId

Effective C++ 条款11,12 在operator= 中处理&ldquo;自我赋值&rdquo; || 复制对象时不要忘记每一个成分

1.潜在的自我赋值     a[i] = a[j];     *px = *py; 当两个对象来自同一个继承体系时,他们甚至不需要声明为相同类型就可能造成别名. 现在担心的问题是:假如指向同一个对象,当其中一个对象被删,另一个也被删,这会造成不想要的结果. 该怎么办? 比如:   widget& widget:: operator+ (const widget& rhs) {    delete pd;    pd = new bitmap(*rhs.pb);    return *thi

Effective C++读书笔记之十二:复制对象时勿忘其每一个成分

Item 12:Copy all parts of an object 如果你声明自己的copying函数,意思就是告诉编译器你并不喜欢缺省显示中的某些行为.而编译器会对"你自己写出copying函数"做出一种复仇的行为:既然你拒绝它们为你写出copying函数,如果你的代码不完全,它们也不会告诉你.结论很明显:如果你为class添加一个成员变量,你必须同时修改copying函数.如果你忘记,编译器不太可能提醒你. 一下提供一种正确的模版: class Date{...}; class

共享文件时提示“将安全性信息应用到以下对象时发生错误”

在给某文件夹设置用户权限时发生错误,提示”将安全性信息应用到以下对象时发生错误”,点击继续其它子文件及文件夹依然如此. 故障如图: 解决方法: 1.右键打开文件夹的属性,在弹出选项卡中,单击“安全”选项卡,选择“高级”,然后选择“所有者”选项卡. 2.在“名称”列表中,单击你的用户名,如果是作为管理员登录的,请单击“Administrator”,或者单击“Administrators”组. 3.单击以选中“替换子容器及对象的所有者”复选框.4.单击“确定”,等到属性应用完就可以正常添加权限了.