网站自动化测试

上一篇 / 下一篇  2008-02-24 13:56:02 / 个人分类:QTP

发现问题:每次发布一个版本后,不仅要修改的那一块要测试一下,其它的地方(相关的主要模块) 也要测试一下,保证发布到公网后没有任何问题. 很头痛.而且现在公司要求是每隔一小时就要对网站监控一次,就是要检查主要的模块没有什么问题.因为公司网站有时被人攻击.这就更头痛了,吃饭没事撑着,我一小时监控一次,我一天就不用做其他工作了.但还是要监控.

所以干脆对网站的主要模块做个自动化.网站:http://www.lightcity.cn

主要步骤是:单击每个频道下的各分类的一篇新闻,保证是正常的.

经验:

1.首先用qtp录制,单击每个频道(首页、新闻中心、产业聚焦等等),结束录制

2.添加各频道下的各分类的某篇新闻单击和单击后打开的网页关闭步骤。

  一, 如:“首页”的“今日聚焦”下的一篇文章。先通过qtp的spy获取到该篇文章的html id属性。然后写如下代码:Browser("title:="&Pbrowser).Page("title:="&Ppage).Link("html id:=ctl00_ContentPlaceHolder1_IndustryFocus1_AtiList1_Repeater1_ctl00_HyperLink1").Click
Browser("index:=0").Close'首页----今日聚焦  为什么要加入html id呢,因为文章的内容是变化的。下次执行脚本时,又变化了,找不到。所以要通过html id属性来定位到该篇文章。
当然也可以用其他的属性。如:index属性。Browser("title:="&Pbrowser).Page("title:="&Ppage).Link("index=100").Click 在这里我为什么不用index呢,因为index属性通过spy是获取不到。也就是我根本不知道这篇文章的index是多少,只有通过去一个个的试验,才漫漫定位到该篇文章的index。
Browser("index:=0").Close 是关掉单击这篇文章而弹出的界面。index:=0是我试出来的。还有index:=1是关掉启动的时候弹出的网页,也就是http://www.lightcity.cn
  

     二:修改脚本时发现,有些分类的文章,spy发现,最下一级是WebElement,而不是Link.可以这样修改脚本:
Browser("title:="&Pbrowser).Page("title:="&Ppage).WebElement("html id:=ctl00_ContentPlaceHolder1_YiFanBBS1_topContentLabel").Click  或
Browser("title:="&Pbrowser).Page("title:="&Ppage).Link("html id:=ctl00_ContentPlaceHolder1_YiFanBBS1_contentHref").WebElement("html id:=ctl00_ContentPlaceHolder1_YiFanBBS1_topContentLabel").Click

  三:有些文章,spy发现,最下一级Link里的html id是空的,没值。怎么办。在看Link的上一级是WebTable.WebTabel里的html id属性是有值的。那么我们可以通过webtale来定位。但是该分类下有很多篇新闻,
又通过什么来定位到该webtable下的某个link呢。通过index。代码如下
Browser("title:="&Pbrowser).Page("title:="&Ppage).WebTable("html id:=ctl00_ContentPlaceHolder1_ArticleShowWithTitleControl2_3_DataList1").Link("index:=1").Click
Browser("index:=0").Close '首页------电工电料  index:=1是该分类下的第二篇文章。它是从0开始计算的。

  四:那么还有一些文章,它的Link的上一级直接是Page.但是Link的html id又是空的,没有值。这种情况是
最郁闷的。只能通过index来直接定位了。去一个一个的去试参数(0,1.....200....300等等)不过我的试法如下:
比如0---100,我先试50,发现文章大概在50-100里,在试75,发现好象在75的上面一点,在78
代码如下:Browser("title:="&Pbrowser).Page("title:="&Ppage).Link("index:=54").Click
Browser("title:="&Pbrowser).Back    ' 产业聚焦------名镇
Browser("title:="&Pbrowser).Page("title:="&Ppage).Link("index:=60").Click
Browser("title:="&Pbrowser).Back      '产业聚焦------名区

  五:Browser("title:="&Pbrowser).Back 代码是返回按钮。因为有些文章单击后,不是新打开一个网页,而是
在本页打开。


3.Browser("title:="&Pbrowser).Page("title:="&Ppage) 里的&Pbrowser是环境变量,因为我在脚本中有很多地方都是:Browser("灯饰视界-全球首选灯饰商务信息平台").Page("灯饰视界-全球首选灯饰商务信息平台_2"),干脆用个变量来代替里面的内容。
首先:file-----settings-----Environment------下拉框选择used defined,单击加号添加变量:如:Name为,browser,Value为,灯饰视界-全球首选灯饰商务信息平台
Name为:page,Value为灯饰视界-全球首选灯饰商务信息平台.*    ,为什么用.*呢,它是一个正则表达式的应用,因为在测试中发现:有Page("灯饰视界-全球首选灯饰商务信息平台_3")之类的。
然后:在脚本里添加如下
Pbrowser=environment.Value("browser")
Ppage=environment.Value("page")

                                                                   2007年07月14日


TAG: QTP

 

评分:0

我来说两句

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 6133
  • 日志数: 8
  • 建立时间: 2008-02-23
  • 更新时间: 2008-09-28

RSS订阅

Open Toolbar