51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2460|回复: 10
打印 上一主题 下一主题

[原创] 关于国际化测试问题、、、

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-25 14:02:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下面的代码:

Browser("XX").Page("XX").WebElement("WebElement").Click
Browser("XX").Page("XX").Link("Accept").Click

像以上的代码

“XX” 可以换成变量么??
因为这个地方涉及到测试国际化(涉及到的国家有很多)的问题,语言不同,那么这个地方组件元素的名字也会不一样儿!!
如果可以换成变量名的话,那变量中的值应该如何获取????

如上图

现在我用描述性编程:
browserTitle = "(Solution Configurators|SAP Business All-in-One).*"    //标题是以Solution Configurators或者是SAP Business All-in-One开头的所有字符串
Browser("name:="&browserTitle).Page("title:="&browserTitle).Link("text:="&acceptText).Click

运行之后提示:
Cannot find the "[ Link ]" object's parent "[ Browser ]" (class Browser). Verify that parent properties match an object currently displayed in your application

即使是用如下的方法:
Browser("name:=Solution Configurators").Page("title:=Solution Configurators").Link("text:="&acceptText).Click
(Page("") 中的name属性在对象库中为空,只有title属性有值)
还是报一样儿的错误
当使用:
Browser("Solution Configurators").Page("Solution Configurators").Link("text:="&acceptText).Click
可以通过、、、
头有点儿大、、、


同时谢谢楼下几位大大的回复、、、O(∩_∩)O~

[ 本帖最后由 lxs647 于 2010-5-25 18:39 编辑 ]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-5-25 15:37:45 | 只看该作者
应该不可以作为变量把
不过国际化只会改变page的text
page的html id不会去变他的
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-5-25 15:45:51 | 只看该作者
据我所知
QTP中是根据name来获取一个组件的
不知道我理解的正确与否

name不一样,在国际化测试中就会出问题
现在我就是这样儿
所以才考虑是不是可以通过变量的方式来取代!
谢谢楼上的回答、、、
继续研究中,也希望大家走过路过的顺便抽出那么一小撮时间讨论讨论、、、

现在时间赶得很紧,研究QTP没几天就要写个测试框架、、、、头疼、、、
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-5-25 16:23:47 | 只看该作者
对象库中的对象命名是可以修改的
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-5-25 16:50:20 | 只看该作者
那就是说存2套tsr就可以解决问题
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-5-25 19:20:06 | 只看该作者
那如果用
Browser("name:=(Solution Configurators|SAP Business All-in-One).*").Page("title:=(Solution Configurators|SAP Business All-in-One).*").Link("text:=.*").Click
会不会报错


如果有好多links在page里的话
给一个固定的名字在Link("text:=.*")中
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-5-26 10:44:13 | 只看该作者
谢谢楼上的回答、、、

我现在暂时的做法就是将browser和page的name和title用正则表达式来处理的、、、
但是Link里面的text因为涉及到好多个国家,而每个国家的对应的text内容是不一样的
比如:
中国:接受
美国:Accept
法国:Accepter
等等、、、
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-5-26 15:35:40 | 只看该作者
我从来没有做过中文的界面测试
但是我的理解是element 的text会被国际化

但是element的name和id不会去改变他
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-5-26 22:26:55 | 只看该作者


数据跟代码分离 怎么实现都这么难呢?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2010-6-4 10:53:08 | 只看该作者
感谢楼上的各位、、、O(∩_∩)O哈哈~
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-6-7 11:14:36 | 只看该作者
browser 和 page 里面的名字不用管,只要在一种语言添加到了对象库别的语言都可以识别,只有网页上的元素要做参数化才能识别,想webelement
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-18 06:40 , Processed in 0.070943 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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