跟着qtp Tutorial录制Mercury Tours订票系统

上一篇 / 下一篇  2014-02-21 21:22:06 / 个人分类:测试练习

主要测试4个页面;测试对象URL:http://newtours.demoaut.com

‘建立test前需要做的准备;新建文件夹Tutorial,Tutorial_ObjectRepositories

创建Action
1.了解页面,创建Action,分别命名为:Login,FlightFinder,SelectFlight,BookFlight(分别为4个页面)
创建Action:Insert-->Call to New Action;
更改Action名字:Edit-->Action-->Rename;(需要改名字时)
2.保存test到文件夹Tutorial,取名为MercuryTours
save Test:File-->Save

创建对象库
1.创建5个公共对象库分别命名为:
  1. MercuryToursLogin.tsr
  2. MercuryToursFlightFinder.tsr
  3. MercuryToursSelectFlight.tsr
  4. MercuryToursBookFlight.tsr
  5. MercuryToursFlightConfirmation.tsr
a步骤
1).打开search-->Object Repositoty Manager 
2).用IE浏览器访问http://newtours.demoaut.com/ 首页
3).Object Repositoty Manager窗口打开Object-->Nagivate And Learn(F6)
4).点击漏斗图标(Define Object Filter)-->Selected Object Types-->select-->只选择Edit Box和Image-->ok--Ok
5).Navigate and Learn窗口点击Learn-->关闭窗口
6).回到Object Repository Manage窗口-->只留三个对象:Sign-In,password,username
7).保存对象库到文件夹Tutorial_ObjectRepositories,名字为MercuryToursLogin.tsr


b步骤
1).search-->Object Repositoty Manager(new)
2).访问http://newtours.demoaut.com/ 登陆进入Flight Finder页面(用户名:zzz,密码:zzz)
3).Object Repositoty Manager窗口打开Object-->Nagivate And Learn(F6)
4).点击漏斗图标(Define Object Filter)-->All object types
5).Navigate and Learn窗口点击Learn-->关闭窗口
6).回到Object Repository Manage窗口-->保留所有对象
7).保存对象库到文件夹Tutorial_ObjectRepositories,名字为MercuryToursFlightFinder.tsr

c步骤
1).search-->Object Repositoty Manager(new)
2).访问http://newtours.demoaut.com/ 登陆进入Select flight页面
3).Object Repositoty Manager窗口打开Object-->Nagivate And Learn(F6)
4).点击漏斗图标(Define Object Filter)-->All object types
5).Navigate and Learn窗口点击Learn-->关闭窗口
6).回到Object Repository Manage窗口-->保留所有对象
7).保存对象库到文件夹Tutorial_ObjectRepositories,名字为MercuryToursSelectFlight.tsr

d步骤
1).search-->Object Repositoty Manager(new)
2).访问http://newtours.demoaut.com/ 登陆进入Book a Flight 页面
3).Object Repositoty Manager窗口打开Object-->Nagivate And Learn(F6)
4).点击漏斗图标(Define Object Filter)-->All object types
5).Navigate and Learn窗口点击Learn-->关闭窗口
6).回到Object Repository Manage窗口-->保留所有对象
7).保存对象库到文件夹Tutorial_ObjectRepositories,名字为MercuryToursBookFlight.tsr

e步骤
1).search-->Object Repositoty Manager(new)
2).访问http://newtours.demoaut.com/ 登陆进入Flight Confirmation 页面
3).Object Repositoty Manager窗口打开Object-->Nagivate And Learn(F6)
4).点击漏斗图标(Define Object Filter)-->All object types
5).Navigate and Learn窗口点击Learn-->关闭窗口
6).回到Object Repository Manage窗口-->保留所有对象
7).保存对象库到文件夹Tutorial_ObjectRepositories,名字为MercuryToursFlightConfirmation.tsr

2.回到qtp-->save

3.把各个对象库关联到各个Action
1).在view工具栏找到Resource Pane来显示Action列表
2).在Resources右击Login-->+Associate Resposity to Action-->选择MercuryToursLogin.tsr
FlightFinder关联MercuryToursFlightFinder.tsr
SelectFlight关联MercuryToursSelectFlight.tsr
BookFlight关联
  • MercuryToursBookFlight.tsr
  • MercuryToursFlightConfirmation.tsr


  • 创建Function Library 命名为 CheckDateFunction.qfl
    步骤:File-->new-->Function Library-->复制下面代码到窗口-->save为CheckDateFunction.qfl

    'The following function checks whether a date string (dateStr)

    'has 10 characters representing MM/DD/YYYY

           

    Function check_data_validity( dateStr )

                  Dim firstSlashPos, secondSlashPos

                  Dim mmPart, ddPart, yyyyPart

           firstSlashPos = inStr( dateStr , "/" )

                  secondSlashPos = inStrRev( dateStr, "/" )

                  If ( firstSlashPos <> 3 or secondSlashPos <> 6 ) Then

                         reporter.ReportEvent micFail,"Format check", "Date string is missing at least one slash ( / )."

                  check_data_validity = False

                         Exit function

                  End If

                  

                  mmPart = mid( dateStr, 1,2 )

                  ddPart = mid ( dateStr, firstSlashPos+1, 2 )

                   yyyyPart = mid( dateStr, secondSlashPos +1 , 4 )

                  If mmPart > 12 Then

                          reporter.ReportEvent micFail, "Format Check" , "The month value is invalid. It exceeds 12."

                         check_data_validity = False

                         Exit function

                  End If

                  If ddPart > 31 Then

                          reporter.ReportEvent micFail, "Format Check" , "The date value is invalid. It exceeds 31."

                          check_data_validity = False

                          Exit function

                   End If

                  If yyyyPart < 2000 Then

                                reporter.ReportEvent micFail, "Format Check" , "The year value is invalid. (Prior to 2000)"

                  check_data_validity = False

                          Exit function

                   End If

           check_data_validity = True

    End Function 








    ’开始进入录制
    分别录制Login,FlightFinder,SelectFlight,BookFlight脚本
    1.Login步骤:
    a).用test flow查看,双击Login,下面是结果图
    b).注意password的Operation为setsecue,密码用password Encoder加密
    c).Password Encoder:开始-->所有程序-->QuickTest Professional-->tool-->password Encoder

    2.FlightFlight录制步骤
    需要设置的信息
    Departing From:New York
    On:December 29
    Arriving In:San Francisco
    Returning:December 31   

    3.SlectFlight录制步骤:

    4.BookFlight录制步骤:



    5.把BookFlight分为两个Action分别命名为
    Purchases flights
    Confirms purchases

    a).选择Flight Confimation:mercury-->Spit Action(Edit->Action->Spit Action)
    1st action-name:Purchases flights
    2st action-name:Confirms purchases

    b).Ok


    ‘插入检查点
    1.check object:检查boot a flight页面的first name
    在passfirst0后-->Insert-->checkpoint-->standard checkpoint;取名为checkname
    2.check page:检查boot a flight页面的连接数,图片数和加载时间
    在book a flight:mercury页面--Insert-->checkpoint-->standard checkpoingt;取名为checklinks
    3.check table:检查boot a flight页面的price
    record-->insert--checkpoint-->standard checkpoint-->点击页面的price 270-->选择270的上一层webtable-->OK-->stop record;取名为checkcost
    4.Check text:检查Confirmation页面的Department出发地
    Record-->insert-->text checkpoint-->点击Department下的地址,只保留to前面的地址(configure-->选上to-->点击Text After)-->ok;命名为checkdepartmenttext-->stop录制

    用function执行检查点,检查select a flight页面
    1.添加时间对象:Resource-->Object repository-->object-->Add object to locate-->点击页面时间-->ok
    2.在selectflight专家视图录入下面脚本-->save

      departureDate=Browser("Select a Flight: Mercury").Page("Select a Flight: Mercury").WebElement("12/29/2009").GetROProperty("innertext")

      if check_data_validity( departureDate ) then

                    reporter.ReportEvent micPass, "Date is valid" , departureDate

      end if  




    '参数化
    参数化flightfinder中的fromport,frommonth,toport,tomonth



    TAG:

     

    评分:0

    我来说两句

    日历

    « 2024-04-20  
     123456
    78910111213
    14151617181920
    21222324252627
    282930    

    数据统计

    • 访问量: 14638
    • 日志数: 13
    • 建立时间: 2014-01-28
    • 更新时间: 2014-03-21

    RSS订阅

    Open Toolbar