发布新日志

  • 网站自动化测试

    2008-02-24 13:56:02

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

    所以干脆对网站的主要模块做个自动化.网站: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日

  • QTP:网站域名更换后,以前录制的脚本修改方法

    2008-02-24 13:53:03

    现在有一针对www.lightcity.cn网站录制好的一个自动测试脚本。现在由于业务需要,要将网站域名修改为www.intocity.com那么怎么将原先的脚本同样可以用在www.intocity.com上呢?脚本修改步骤:1.打开脚本2.Automation -> Record and Run settings,修改www.lightcity.cn为www.intocity.com3.Resources -> object Repository,将每个页面的www.lightcity.cnur修改l为:www.intocity.comok,这样就行了。object Repository是对象库怎么将对象库的内容导出为xml格式的呢?1。Resources -> object Repository Manager 2。File -> Export to xml

                                                                          2007年07月14日

     

数据统计

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

RSS订阅

Open Toolbar