最近研究了一下自动化测试QTP的一个测试框架,使用描述性语言编程觉得 总是写Browser(“”).Page().WebButton.click,还得做数据参数化。。太烦了。
就写了一个通用vbs方法,输入元素类型、数据自动创建对象并点击或输入数据,这就是所谓的DDT(数据驱动测试)。可是要在数据文件里设置精确的描述元素的id 或name
(html id:=submit_btn),这些都要去网页的source code里自己去找然后再复制到数据驱动文件里,还要设置其类型和数据,也很烦,
尤其我都是做外包项目根本没时间浪费在搜元素上。
遂想,能不能使用程序来搜索这些东西,以前测过一个网络爬虫的项目。就去问那个同事C#用什么思路来实现。推荐了WebBrowser控件:
1. 放入webbrowser控件改名myweb,使用其myweb_DocumentCompleted事件:
//由于它会被触发两次,所以判断一下状态为Complete时再执行
if (myweb.ReadyState != WebBrowserReadyState.Complete)
return;
HtmlElementCollection inputs_login = myweb.Document.GetElementsByTagName("input");
//使用属性获取你关心的对象,很像JS的一些方法
foreach (HtmlElement obj in inputs_login)
{