51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3277|回复: 2
打印 上一主题 下一主题

[原创] QTP到底怎么个用法,求解惑

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-10-12 11:24:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人工作半年了,学习QTP也蛮久的了,以前学QTP,网上都叫去学vbs,好,就学学。
然后公司是移动端开发的,前台的都是手工测试,后台我负责,我就用QTP录制添加信息,
从开始的添加都是固定的,比如>>> 标题控件.Set "我是标题"&time()

到后面添加是自动搜索指定网页的内容,比如标题,比如正文,这时候高兴了,我都不知道它下次会添加的会是什么信息。

然后过了半年了,还是添加的时候用QTP有用,平时都是先手工测试一遍,然后没有啥问题了,就用QTP添加,自动添加的时候,就去测试前端(IOS应用,Android应用),
觉得自动化添加的信息随机性比较高,比手动添加的信息长的多,很有好感,比如自动插入随机图片,自动读取随机word文档。

直到最近才发现,原来c#dll能在QTP里面使用,就把常用的函数,写在c#dll里面了。(平时也喜欢看编程,都是从c>java>c#,慢慢过来的,现在喜欢wpf,那个窗口程序比winform好看)

还有,对什么检查点,什么参数设置,从以前的好奇到现在的从来没有用过。

发现描述性编程很好用,但是效率低,一个控件一次spy,好慢滴。
DOM解决日期控件和富文本框。

平时对一些技术也很好奇,比如ORC,还帮过一个同学写过自动注册程序,主要是那同学公司开发的验证码正正规矩的,很好识别。

这时候就矛盾咯,QTP能干什么啊?
检查点?添加后,判断表格的第一条信息包含添加数据就行了?

感觉好渺茫,不知道要学什么。测试框架怎么学习,有没有现成的。

还是我对自动化测试的概念不了解?
我看网上一大抄,都是控件识别啊控件识别。还真不了解真正的一套QTP自动化测试是怎么个样子。

求解惑。看不清楚前面的道路。
网上说的,提高能力,就有资本了,我也不满意现在的那点薪资,要努力通过自己的水平。

说说,你们的QTP实际应用吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-10-14 18:51:01 | 只看该作者
QTP原理知识,
什么叫BHO,为什么IE里要设置BHO插件,QTP捕捉不到动作?

本来对这些知识都是不了解的,然后看LR原理,研究C#在该方面的知识,然后引申出AxSHDocVw.AxWebBrowser,上百度和谷歌查到很多有关BHO的知识

看我这贴要沉了,就把用了两天研究的类似IE自动捕捉的原理讨论一下。
微软提供了IE浏览器操作的接口,IWebBrowser2,链接到该接口就能操作IE了,添加动作监听,执行自动操作,发现果然是个费力气费精神的活,自己又不是专业开发的,只能凭借自己的能力去研究,很吃力得瑟。

自动化描述:
1:打开IE,判断是否有IE浏览器打开,有就执行IWebBrowser2链接,其实就是注册自己的程序和浏览器运行在同一个进程(网上说的)。
2:实现监听,获取操作元素IHTMLElement
3:监听判断,判断元素唯一属性,编写如何通过该属性获取该元素,生成脚本,(脚本是自己定义的)
4:元素属性判断,主要是标示测试是否通过,也就是访问元素属性的
5:脚本回放,额,还很遥远,

网上查到的都是C++的语言,费了好大劲啊,比如说获取IWebBrowser2接口,C++代码都是好长的,而且好多函数都看不懂,后面查到简单的方法

  1. Shell shell = new ShellClass();
  2. IShellWindows windows = shell.Windows() as IShellWindows;
  3. foreach (IWebBrowserApp app in windows)
  4. {
  5.       IWebBrowser2 _Browser = app as IWebBrowser2;
  6.       document = _Browser.Document;
  7.       Console.WriteLine(_Browser.LocationURL);
  8.                
  9.         //测试成功
  10.         //_Browser.Navigate("http://www.gamersky.com/");
  11.          return new IE(_Browser);
  12. }
复制代码
其实我也不知道,这原理是不是这样,不过很难写啊。就把东西放出来了,希望一起研究啊。

现在只用了百度上的输入框和按钮测试,不知道离目标还差多少万八千里。

该程序得先打开IE,然后再运行,(看上面判断IE浏览器的代码就知道了)。打开一个浏览器行了吧(其实打开多个没有测试的),多了不知道会不会出现问题。

该版本VS2010下,运行。只是玩玩的,了解一下IE自动化原理,也参考了些Selenium的方法,比如说只有一个浏览器对象,然后操作都是类似
IE.控件(属性标示).SetValue(value)
IE.控件(属性标示).Click()

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-10-14 23:55:01 | 只看该作者
好,我远不如LZ,就不说话了,帮顶~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 08:31 , Processed in 0.082010 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表