chenwubia0 发表于 2012-4-5 10:51:03

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

本帖最后由 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的变化
而获取到数据。

mimmy 发表于 2012-4-5 11:41:57

既然已经参数化了,为何不用DataTable.value(列名,sheet名)替换"客户01"这个参数呢

chenwubia0 发表于 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)
这样的话只会打开下拉框,而不选择数据

chenwubia0 发表于 2012-4-5 15:12:31

有木有高手指点指点。急用中。。。谢谢啦

wangyanzhao 发表于 2012-4-6 13:14:11

Image("name:={32}")Click   试一试,就是用正则代替

luchao215225 发表于 2012-4-6 13:33:18

可以使用循环从datatable中取值啊.

lotus 发表于 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.

chenwubia0 发表于 2012-4-6 15:33:55

既然已经参数化了,为何不用DataTable.value(列名,sheet名)替换"客户01"这个参数呢
mimmy 发表于 2012-4-5 11:41 http://bbs.51testing.com/images/common/back.gif


    用了,但是到这就报错。

chenwubia0 发表于 2012-4-6 15:35:11

回复 6# luchao215225


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

chenwubia0 发表于 2012-4-6 15:49:25

回复 7# lotus


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

026300 发表于 2012-4-6 16:46:33

图片名称和click的那个业务放到tale中,然后取值不行么?

lotus 发表于 2012-4-6 17:43:46

回复lotus


    还真没看懂。复制回去代码提示错误
chenwubia0 发表于 2012-4-6 15:49 http://bbs.51testing.com/images/common/back.gif


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

Browser("xxxxx").Page("xxxxx").Frame("Frame").WebElement("客户01").SetTOProperty( "innertext","客户02")

chenwubia0 发表于 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

lotus 发表于 2012-4-8 22:03:41

回复lotus


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


这是选中后的属性
...
chenwubia0 发表于 2012-4-6 19:37 http://bbs.51testing.com/images/common/back.gif

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

luchao215225 发表于 2012-4-9 14:01:47

这个应该是weblist吧,可以用weblist.item("")来选择的啊

chenwubia0 发表于 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值,第二句是选中该值。谢谢各位。

edisonzhang 发表于 2012-4-12 09:44:47

up

fanjianmin 发表于 2012-4-16 11:01:57

:)
页: [1]
查看完整版本: WebElement中的参数问题:怎么设置成动态(急用在线等,谢谢了)