QTP到底怎么个用法,求解惑
本人工作半年了,学习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实际应用吧。
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++代码都是好长的,而且好多函数都看不懂,后面查到简单的方法
Shell shell = new ShellClass();
IShellWindows windows = shell.Windows() as IShellWindows;
foreach (IWebBrowserApp app in windows)
{
IWebBrowser2 _Browser = app as IWebBrowser2;
document = _Browser.Document;
Console.WriteLine(_Browser.LocationURL);
//测试成功
//_Browser.Navigate("http://www.gamersky.com/");
return new IE(_Browser);
}
其实我也不知道,这原理是不是这样,不过很难写啊。就把东西放出来了,希望一起研究啊。
现在只用了百度上的输入框和按钮测试,不知道离目标还差多少万八千里。
该程序得先打开IE,然后再运行,(看上面判断IE浏览器的代码就知道了)。打开一个浏览器行了吧(其实打开多个没有测试的),多了不知道会不会出现问题。
该版本VS2010下,运行。只是玩玩的,了解一下IE自动化原理,也参考了些Selenium的方法,比如说只有一个浏览器对象,然后操作都是类似
IE.控件(属性标示).SetValue(value)
IE.控件(属性标示).Click()
好,我远不如LZ,就不说话了,帮顶~
页:
[1]