51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3070|回复: 17
打印 上一主题 下一主题

[原创] WebElement中的参数问题:怎么设置成动态(急用在线等,谢谢了)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-4-5 10:51:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chenwubia0 于 2012-4-5 10:58 编辑

Browser("xxxxx").Page("xxxxx").Frame("Frame").Image("AMDAwAAAACH5BAEAAAAALAAAAAABAA").Click
Browser("xxxxx").Page("xxxxx").Frame("Frame").WebElement("客户01").Click
上面代码就是点击一个下拉框,下拉框中出现"客户01"的内容。我用的是object from repository 获取对象
但是这个“客户01”会根据前面的业务而变化,例如变化成“客户02”。那我这个代码就捕捉不到客户02了。
有没有什么方法可以随着前面业务的变化而能变化.我之前的业务设置了个DataTable是“客户01”.我设置了
运行10次,也就是一直到“客户10”.所以这里我想WebElement("客户01").Click也能随着DataTable的变化
而获取到数据。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-4-5 11:41:57 | 只看该作者
既然已经参数化了,为何不用DataTable.value(列名,sheet名)替换"客户01"这个参数呢
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-4-5 12:40:52 | 只看该作者
回复 2# mimmy


    Browser("xxxxx").Page("xxxxx").Frame("Frame").WebEdit("ext-comp-1091").Set DataTable.Value("客户名称", dtGlobalSheet)

这样的写。但是代码不能通过。



Browser("xxxxx").Page("xxxxx").Frame("Frame").Image("AMDAwAAAACH5BAEAAAAALAAAAAABAA").Click
Browser("xxxxx").Page("xxxxx").Frame("Frame").WebEdit("ext-comp-1091").Set DataTable.Value("客户名称", dtGlobalSheet)
这样的话只会打开下拉框,而不选择数据

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2012-4-5 15:12:31 | 只看该作者
有木有高手指点指点。急用中。。。谢谢啦
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-4-6 13:14:11 | 只看该作者
Image("name:=[a-zA-Z0-9]{32}")Click   试一试,就是用正则代替
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2012-4-6 13:33:18 | 只看该作者
可以使用循环从datatable中取值啊.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2012-4-6 14:07:35 | 只看该作者
用SetTOProperty方法  动态修改WebElement("客户01")的识别属性,如text.再执行点击操作
Browser("xxxxx").Page("xxxxx").Frame("Frame").WebElement("客户01").SetTOProperty( Property, Value)
Browser("xxxxx").Page("xxxxx").Frame("Frame").WebElement("客户01").Click


FYI:
Syntax
object.SetTOProperty Property, Value

Syntax Details
Argument Description
object A test object of type WebElement.
Property Required. A String value.
The test object property to set.

Value Required. A Variant value.
The value to assign to the listed property.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2012-4-6 15:33:55 | 只看该作者
既然已经参数化了,为何不用DataTable.value(列名,sheet名)替换"客户01"这个参数呢
mimmy 发表于 2012-4-5 11:41



    用了,但是到这就报错。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2012-4-6 15:35:11 | 只看该作者
回复 6# luchao215225


    试过了,这个下拉框是不能输入的状态,只能点击选择。像文本框的话我试过用datatable。那些都行
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2012-4-6 15:49:25 | 只看该作者
回复 7# lotus


    还真没看懂。复制回去代码提示错误
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2012-4-6 16:46:33 | 只看该作者
图片名称和click的那个业务放到tale中,然后取值不行么?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2012-4-6 17:43:46 | 只看该作者
回复  lotus


    还真没看懂。复制回去代码提示错误
chenwubia0 发表于 2012-4-6 15:49



WebElement("客户01")这个对象是用哪个属性来识别的,你查看下你的对象库中WebElement("客户01"),可能是innertext为'客户01'。
用SetTOProperty方法  动态修改WebElement("客户01")运行时对象库中的的识别属性innertext为'客户02'

Browser("xxxxx").Page("xxxxx").Frame("Frame").WebElement("客户01").SetTOProperty( "innertext","客户02")
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2012-4-6 19:37:39 | 只看该作者
本帖最后由 chenwubia0 于 2012-4-6 20:10 编辑

回复 12# lotus


这是文本框里的属性,文本框为不可输入。只能选中下拉框的数据


这是选中后的属性




Browser("xxxxx").Page("xxxxx").Frame("Frame").WebElement("客户01").SetTOProperty "innertext",客户02
我是这样写的。你上面那种写法好像语法错了。
但是这样写也无法在回放时自己选中客户02

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2012-4-8 22:03:41 | 只看该作者
回复  lotus


这是文本框里的属性,文本框为不可输入。只能选中下拉框的数据


这是选中后的属性
...
chenwubia0 发表于 2012-4-6 19:37


一定要给你完全正确的代码,你才明白,但我不在你旁边无法做到那么完美呀
Browser("xxxxx").Page("xxxxx").Frame("Frame").WebElement("客户01").SetTOProperty "innertext","客户02"
如果不通过,你把出错截屏发出来,看是哪出错
如果通过了,你把"客户02" 参数化或用变量 象2楼mimmy说的那样做
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2012-4-9 14:01:47 | 只看该作者
这个应该是weblist吧,可以用weblist.item("")来选择的啊
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2012-4-9 14:19:11 | 只看该作者
Browser("xxxxx").Page("xxxxx").Frame("Frame_5").WebElement("客户001").SetTOProperty "innertext", DataTable("客户名称", dtGlobalSheet)
Browser("xxxxx").Page("xxxxx").Frame("Frame_5").WebElement("客户001").Click

Ok了。第一句是获取动态的datatable值,第二句是选中该值。谢谢各位。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2012-4-12 09:44:47 | 只看该作者
up
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2012-4-16 11:01:57 | 只看该作者
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 01:26 , Processed in 0.090221 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表