簡體   English   中英

QTP無法調用適當的操作,具體取決於Excel工作表中“是”狀態的輸入

[英]qtp unable to call proper Action depending on the input from excel sheet for “yes” status

我試圖根據“是”狀態並使用列名(例如登錄名,頁眉,頁腳等)來調用某些操作,如下表( 鏈接

Excel工作表的圖像

下面是代碼:(跳過excel加載和其他部分)和每個列名稱的操作都存在,例如Login,Header,Footer等

iRowCount= DataTable.GetSheet("Main").GetRowCount()
iColumnCount=DataTable.GetSheet("Main").GetParameterCount

For iR = 1 To iRowCount
    DataTable.SetCurrentRow iR
    bRun=Datatable.Value("Run","Main")
    If UCase(bRun)= "YES" Then
        For iC = 5 To iColumnCount
         bComponent= Datatable.Value(iC,"Main")

         If ucase(bComponent) ="YES" Then
            sModule=DataTable.GetSheet("Main").GetParameter(iC).Name
            print sModule
            RunAction sModule, oneIteration

         End If

        Next

    End If  
Next

即使第二行的頁腳不是“是”,仍會調用該操作

我已經使用Print Statement來顯示輸出的動作名稱

Login
Header
Footer
SecondaryNavigation
Login
Header
Footer
SecondaryNavigation

但是當我不使用

RunAction sModule, oneIteration

然后輸出更改為

Login
Header
Footer
SecondaryNavigation
Login
Header
Cookiemessage
SecondaryNavigation

我無法找出問題所在,當我不調用動作時,代碼可以正常工作,但是當我使用動作調用執行時,它遵循的是第一行狀態而不是第二行狀態

您已經隱藏了列C。

因此,“頁腳”列的索引實際上是6,而不是5。

因此,循環應從6迭代到列數,而不是5。

在Windows領域有許多IT工作年的經驗:繼續尋找width = 0的Excel列,否則您將浪費生命尋找實際上缺少信息或錯誤的列假設的錯誤:O

即使第二行的頁腳不是“是”,仍會調用該操作

這是因為實際上,由於剛才概述的怪癖,正在使用“ Header”單元格值,並且該行的值為“ Yes”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM