【问题标题】:In Qtp on printing value in local sheet column from global sheet only the last row value is getting priint在 Qtp 中,从全局表中打印本地表列中的值,只有最后一行值正在打印
【发布时间】:2016-04-21 05:14:51
【问题描述】:
systemUtil.run "iexplore",datatable.Value(4,1)

datatable.value(5,1)=Browser("Google").Page("Google").WebElement("India").GetROProperty("innertext")
a=datatable.GetSheet("Global").GetParameter("result").Value
datatable.value(2,2)=a

browser("Google").Close
datatable.Export "C:\Users\arajput\Desktop\qtp.xlsx"

我想通过在新的工作表列中传递不同的 url 来打印标志 google 下方的国家/地区,即印度、英国等。我在全局工作表中传递了不同的 url,它在全局工作表中输出国家名称时工作正常,但在本地工作表中获得相同的值,即新工作表它只显示最后一个 url 值,因为它被覆盖,所以只返回一行上一个

【问题讨论】:

  • 你能把整个代码更好地理解你的查询并提供任何帮助吗?

标签: excel datatable automation qtp


【解决方案1】:

哇...我看了你到目前为止发布的代码,非常混乱。

您正在为工作表和参数使用索引号和名称的混合...例如,首先您使用包含在全局工作表的“字段 #4”中的 URL 启动 iexplore...我可以'不知道那个参数叫什么,我只知道它是第 4 列。

然后,您将由名为“India”的测试对象标识的对象的内部文本值存储到全局工作表的第 5 列中。同样,我不知道何时调用该参数。

接下来,您想将一些数据放入一个名为“a”的变量中...但是,要获取该数据,您需要提取一个名为“result”的参数的 .value,该参数也是全局上的一列表...

所以,问题从这里开始——我不知道“结果”的列号是什么……它可能是第 5 列,这是你刚刚放置“印度”的内部文本的地方……但它可以是第 6 列,也可以是其他不同的内容。这里的重点是可能有一个在这里很难找到的微妙错误。或者它可能很好。我说不清楚。

接下来,您立即将数据表中的值放入表 2 的第 2 列...同样,我没有关于调用该参数的信息,甚至没有关于调用表 2 的信息。 (我知道的一件事是 QTP 会坚持将表 2 用作属于创建的第一个操作的数据表......但这可能无关紧要)

之后,您将工作表导出到文件中。

这一切都非常令人困惑,但这是您给我们的工作。

这里有一些事情要检查。

1) 你要更改数据表的 CurrentRow 吗?您可能会遇到要更改全局表的 CurrentRow 而不是本地表的情况。在读取数据或将数据写入这些表之前,请检查以确保您正在设置这两个表的 CurrentRow。

2) 我注意到您正在从名为“India”的 WebElement 对象中读取数据……但您还描述了您可能希望在该对象中找到“uk”……因此,也许该对象名为“India” " 应该称为 "Country"...无论如何,您应该检查以确保该 WebElement 的测试对象描述可以正确识别该对象,即使它没有显示为“India”,因为它是内部文本。

3)我还注意到您的问题谈到了“打印”(我假设您的意思是打印),但您的示例代码实际上并没有打印任何内容。您只是导出整个工作表,我们无法解释为什么“只有最后一行值被打印”

【讨论】:

    【解决方案2】:

    花了一些时间来理解你的问题,我希望下面的答案可以帮助你。

    最好用表名而不是索引来指向表(例如:“Global”而不是“1”和“SomeSheet”而不是“2”。同样适用于列名)

    glbRwCount=Datatable.GetSheet("Global").GetRowCount
    For i=1 to glbRwCount
     Datatable.GetSheet("Global").SetCurrentRow(i)
     systemUtil.run "iexplore",datatable.Value(4,"Global")
     Datatable.value(5,"Global")=Browser("Google").Page("Google").WebElement("India").GetROProperty("innertext")
     a=Datatable.GetSheet("Global").GetParameter("result").Value
     Datatable.GetSheet("Action1").SetCurrentRow(i)
     Datatable.value(2,"Action1")=a    
     Browser("Google").Close     
    Next
    Datatable.Export "C:\Users\arajput\Desktop\qtp.xlsx"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 2019-11-29
      • 2015-04-23
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多