关于脚本中的相对路径
我在脚本中有段读取文档的代码,文档路径,我写的相对路径,因为考虑到以后脚本的移植性。但是在运行这段脚本的时候,QTP有时候能够根据相对路径找到该文档,有时候又提示“路径未找到”。不知道该怎么解决。代码如下:'从文件url_h.txt中读取后台登陆地址
Const ForReading = 1
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.OpenTextFile("..\data\url_h.txt",ForReading) 我也碰到过类似的问题:
我在脚本开头写代码读一个EXCEL内的数据到datatable内,如果用相对路径,修改excel文件的数据,重新运行脚本
datatable内的数据是不会变的
但使用绝对路径就没有这个问题 用Environment.Value("TestDir")先得到当前的路径,再加上你的相对路径,就可以使用“绝对”路径了。 谢谢麦子华华,这个方法不错。顺便问下麦子,通过Environment还可以取一些系统的什么值,常用的?我这里也找不到相关文档,想再多了解一些。sdlkfj2 在 QTP 的帮助里面就有 关于 Environment 的介绍呀。你以 Environment 为关键词去搜索就可以了。 我就是在help里找了的,Utility.chm里面对Environment对象的介绍很少,它的Value属性也介绍得很简单。
Environment.Value("TestDir")可得到当前的路径更是没有。 以Using Built-in Environment Variables 做搜索,可以找到蛮多built-in的环境变量的 麦子华华,看了你的一篇贴子http://bbs.51testing.com/thread-41782-1-1.html
你在文中提到Tools > Options > Folders里,加入存放脚本的路径d:\QTP_Test。我可以在脚本里面通过语句取到该路径d:\QTP_Test吗?因为这个不仅能解决Call外部Action的问题,还可以解决获得外部文件存放路径的问题。
而你说的Environment.Value("TestDir")先得到当前的路径,是当前脚本的路径,如:E:\Product\WebShop\testscript\V2.3\商品管理\添加商品
而我的外部文件的路径是E:\Product\WebShop\testscript\V2.3\data\url_h.txt
所以我想要的是E:\Product\WebShop\testscript\V2.3+相对路径(data\url_h.txt)
而不是E:\Product\WebShop\testscript\V2.3\商品管理\添加商品 问题解决了
1.先在Tools > Options > Folders里,加入路径E:\Product\WebShop\testscript\V2.3
2.再通过PathFinder.Locate("data\url_h.txt")就可以得到全路径了! 好久没来,楼上的方法也不错,PathFinder.Locate,又学到了 不错的方法 谢谢楼上的了,我正为这个问题困惑了。 又学了一招sdlkfj2 PathFinder.Locate,帮大忙了简直~
页:
[1]