gchao 发表于 2009-1-8 16:12:27

回复 59# 的帖子

谢谢你,但是我想waitforpagetoload ,这个命令不是只有在等待网页的时候可以用 如果等待某一个按键或者某一个元素的话,是不是不能用呢?

bruce.gu 发表于 2009-1-8 16:54:20

waitforpagetoload只有这个页面load的时候可用。。ajax的局部页面loading 不能用。
原帖由 gchao 于 2009-1-8 16:12 发表 http://bbs.51testing.com/images/common/back.gif
谢谢你,但是我想waitforpagetoload ,这个命令不是只有在等待网页的时候可以用 如果等待某一个按键或者某一个元素的话,是不是不能用呢?

gchao 发表于 2009-1-8 16:57:05

网站是Ajax技术的,怎么样才能让selenium IDE执行完一个命令之后再执行下一个命令? 觉得有些时候,selenium IDE运行太快的话,在同一个页面,运行完一个命令后,还没有等到网页执行完这个命令后,就执行了下一个命令,这样的话上一个命令网页还没有响应,就到下一个命令了,所以我做的自动运行有时候就会出错,除了pause可以解决这个问题,其他有没有好点的命令可以解决,谢谢。

bruce.gu 发表于 2009-1-8 16:59:41

waitforvalue 只有能取到value 的控件才能用吧,一般用在textfield
我想waitforpresent 应该可以解决你的问题, 不知道是不是你写的locator有点问题。。建议用firebug + xpath checker
保证你使用的locator 在页面上对应唯一的控件

原帖由 gchao 于 2009-1-8 16:08 发表 http://bbs.51testing.com/images/common/back.gif
很感谢bruce的回答,但是目前来讲,我现在只是刚刚接触到selenium IDE 这个软件,还没有涉及到编程方面的知识,而且现在来说问题主要是关于想找个一个可以取代pause的命令,网上看了一下waitforvalue这个命令可以,w ...

gchao 发表于 2009-1-8 17:03:36

回复 62# 的帖子

谢谢你,所以我有时候用wait for element present ,但是发现有些时候也不是很好用

gchao 发表于 2009-1-8 17:11:13

回复 64# 的帖子

谢谢,也就是说,现在我不用了wait for value 这个命令来测试? 还有value控件指的是什么

bruce.gu 发表于 2009-1-8 17:39:31

function getInputValue(inputElement) {
    if (inputElement.type) {
      if (inputElement.type.toUpperCase() == 'CHECKBOX' ||
            inputElement.type.toUpperCase() == 'RADIO')
      {
            return (inputElement.checked ? 'on' : 'off');
      }
    }
    if (inputElement.value == null) {
      throw new SeleniumError("This element has no value; is it really a form field?");
    }
    return inputElement.value;
}

这个是selenium core 的代码。
只要有value属性,就可以获取到。当然input element 就稍微特殊一点,不一定需要 value attribute.
对于非input 也可以用getAttribute(locator+"@value")

原帖由 gchao 于 2009-1-8 17:11 发表 http://bbs.51testing.com/images/common/back.gif
谢谢,也就是说,现在我不用了wait for value 这个命令来测试? 还有value控件指的是什么

[ 本帖最后由 bruce.gu 于 2009-1-8 17:40 编辑 ]

gchao 发表于 2009-1-12 09:36:50

回复 67# 的帖子

非常感谢你,我想问一个问题,就是selenium IDE 这里面的命令,有没有可以设置脚本最大运行时间的命令,比如说如果我想运行一个脚本文件最多五分钟,超过五分钟就运行下一个脚本文件,有这样的命令吗? 有的话请告知一二,谢谢,另外在我测试的网页中在一个地方会有对话框出现,但是有时候又不会存在,如果我想自动运行selenium IDE ,在这个地方应该怎么样进行设置,有没有这样的命令,有对话框出现就点击确定,然后进行下一步操作,没有对话框就直接进行下一步操作,如果有的话,请告诉一下,无比感谢!

bruce.gu 发表于 2009-1-12 12:20:21

这些东西在ide里面我都没试过。实际上我很少用到ide。毕竟ide局限太多。
如果在rc模式下面的话。你说的两个问题都很容易解决。
第一个问题只要在程序里设一个计时的。
第二问题只要用 try{}catch(){} 来实现。
原帖由 gchao 于 2009-1-12 09:36 发表 http://bbs.51testing.com/images/common/back.gif
非常感谢你,我想问一个问题,就是selenium IDE 这里面的命令,有没有可以设置脚本最大运行时间的命令,比如说如果我想运行一个脚本文件最多五分钟,超过五分钟就运行下一个脚本文件,有这样的命令吗? 有的话请告知一 ...

fairylly 发表于 2009-1-13 15:36:28

我是selenium新手
这两天遇到一个问题:
图片按钮链接页面,在IDE中回放可以成功
放到selenium Core及eclipse中就会出错,提示后一条命令中的element找不到(实际是图片链接点击后,页面没有跳转成功,导致后面的命令失败的)

eclipse中的图片链接命令:
selenium.click("//li[@id='mm2']/a/span");

是图片链接需要特殊处理,还是别的什么原因导致的呢?

多米尼克 发表于 2009-1-13 16:56:45

兄弟还是蛮强的,多交流交流

bruce.gu 发表于 2009-1-13 18:16:42

两种情况: 1.click没成功,确认click的locator 正确,如果还不行,尝试一下mouseDown, mouseUp 代替click试试看。
          2.click之后没wait, 用一个wait for page to load 之类的。
原帖由 fairylly 于 2009-1-13 15:36 发表 http://bbs.51testing.com/images/common/back.gif
我是selenium新手
这两天遇到一个问题:
图片按钮链接页面,在IDE中回放可以成功
放到selenium Core及eclipse中就会出错,提示后一条命令中的element找不到(实际是图片链接点击后,页面没有跳转成功,导致后面的 ...

fairylly 发表于 2009-1-14 11:43:14

原帖由 bruce.gu 于 2009-1-13 18:16 发表 http://bbs.51testing.com/images/common/back.gif
两种情况: 1.click没成功,确认click的locator 正确,如果还不行,尝试一下mouseDown, mouseUp 代替click试试看。
          2.click之后没wait, 用一个wait for page to load 之类的。



1、click的locator是正确的,我是使用IDE自动获取到的,并确认没有错误
2、尝试使用mouseDown代替click,但一样出错,mouseDown后有使用waitForPageToLoad函数
3、click后有使用waitForPageToLoad函数
但每次都是报waitForPageToLoad超时出错

fairylly 发表于 2009-1-14 11:44:21

另使用loggingSeleniium时,是否只有在出错的时候才会记录日志文件,没有错误时,日志文件为空?

fairylly 发表于 2009-1-14 12:59:54

原帖由 bruce.gu 于 2009-1-13 18:16 发表 http://bbs.51testing.com/images/common/back.gif
两种情况: 1.click没成功,确认click的locator 正确,如果还不行,尝试一下mouseDown, mouseUp 代替click试试看。
          2.click之后没wait, 用一个wait for page to load 之类的。



图片链接已解决

使用selenium.click("link=XXXX");这种link的方式可解决
“XXXX”为源码:
<li>XXXX<li>
中的文字

bruce.gu 发表于 2009-1-14 13:32:59

恭喜,link=xxx 是selenium 支持的一种locator, 其他的 id=xxx, name=xxx, xpath=xxx 之类
原帖由 fairylly 于 2009-1-14 12:59 发表 http://bbs.51testing.com/images/common/back.gif



图片链接已解决

使用selenium.click("link=XXXX");这种link的方式可解决
“XXXX”为源码:
XXXX
中的文字

bruce.gu 发表于 2009-1-14 13:34:42

loggingSelenium 不管 有没有错都记录的。
另外loggingSelenium 好像更新够及时,跟不上selenium。 偶已经抛弃loggingSelenium 了。自己依葫芦画瓢做了一个适合自己的logging。
原帖由 fairylly 于 2009-1-14 11:44 发表 http://bbs.51testing.com/images/common/back.gif
另使用loggingSeleniium时,是否只有在出错的时候才会记录日志文件,没有错误时,日志文件为空?

fairylly 发表于 2009-1-14 13:57:58

我遇到一个新问题:

脚本中有一句是:点击系统中的“退出”,并在确定提示框中点击“确定”
即:selenium.click("link=退出");
  assertEquals("你确定要退出吗", selenium.getConfirmation());

但运行时,会把整个浏览器窗口跳转到退出页面,这样就无法继续后面的脚本,包括tearDown()函数都不运行,eclipse的junit状态中,一直显示在运行状态。。。


bruce.gu 发表于 2009-1-14 16:02:41

不知道你是不是想选择 取消。
selenium 碰到 getConfirmation 之类会默认 选择 Yes. 如果要在碰到confirmation 之类选No 的话。。在触发confirmation 事件之前 用 selenium.chooseCancelOnNextConfirmation();
所以就在你click link 之前 把这个添加进去,然后confirmation 出来的的时候就选择成了cancel。



原帖由 fairylly 于 2009-1-14 13:57 发表 http://bbs.51testing.com/images/common/back.gif
我遇到一个新问题:

脚本中有一句是:点击系统中的“退出”,并在确定提示框中点击“确定”
即:selenium.click("link=退出");
  assertEquals("你确定要退出吗", selenium.getConfirmation());

但运行时, ...

[ 本帖最后由 bruce.gu 于 2009-1-14 16:04 编辑 ]

fairylly 发表于 2009-1-14 16:20:53

原帖由 bruce.gu 于 2009-1-14 16:02 发表 http://bbs.51testing.com/images/common/back.gif
不知道你是不是想选择 取消。
selenium 碰到 getConfirmation 之类会默认 选择 Yes. 如果要在碰到confirmation 之类选No 的话。。在触发confirmation 事件之前 用 selenium.chooseCancelOnNextConfirmation();
所 ...

我不是想“取消”,就是“确定”退出,查看确定退出后的页面是否是我想要的页面
但退出后,退出页面会把整个浏览器替换,这样就没办法继续后面的工作了
页: 1 2 3 [4] 5 6
查看完整版本: Selenium 连续记录【有啥问题可以在这里问,一起讨论】