51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 9696|回复: 12
打印 上一主题 下一主题

selenium在WaitForPageToLoad时提示没有权限

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-24 20:24:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用selenium remote control 进行测试。
首先录制了一个脚本。很简单的打开百度,进入mp3搜索页面,然后提交一个查询请求。然后停止。
然后我用vs2005,建立起工程,在运行的过程中发现,所有的录制c#脚本,都是在 selenium.WaitForPageToLoad("30000");这句上抛出异常,提示说是没有权限。最后定位,发现是提交请求
http://localhost:4444/selenium-server/driver/?cmd=waitForPageToLoad&1=30000&sessionId=587468
返回了“没有权限”,
我迷惑了,去baidu上搜索一下,也没有找到答案。
selenium的高手,可否指点一二啊。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-12-24 20:30:59 | 只看该作者
发现论坛上,使用selenium工具的人好少啊。大家有没有遇到过类似的问题啊。我附上我的部分代码。

        [SetUp]
        public void SetupTest()
        {
            selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://www.baidu.com");
            selenium.Start();
            verificationErrors = new StringBuilder();
        }

        [Test]
        public void TheNewTest()
        {
            selenium.Open("/");
            selenium.Click("link=MP3");
            selenium.WaitForPageToLoad("30000");
            selenium.Type("ww", "陈奕迅");
            selenium.Click("//input[@value='百度一下']");
            selenium.WaitForPageToLoad("30000");
        }
    }
}
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-12-25 10:39:07 | 只看该作者
关于权限问题,你可能要把selenium remote control 放在你所要测试的application同一软件服务器上面才行。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-12-25 11:18:11 | 只看该作者
selenium core才需要和网站放在一起。selenium remoter 是不需要的。
只要运行server程序,监听4444,selenium会自动通过4444端口发送请求。
权限问题,不得而知。郁闷。
难道其他人都不用selenium那。或者没有遇到过这样的错误。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-12-25 15:51:12 | 只看该作者
看来要组建一个selenium测试团了。现在好像很势单力薄啊。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-12-27 18:28:48 | 只看该作者
我试了一下,的确如此。应该是网站从安全性考虑来做的限制,我在测WorldPay的时候,也碰到了同样的问题。如果楼主有好的解决办法,希望也告诉我一下。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-1-2 13:42:07 | 只看该作者
我再查查资料吧,这个工具貌似用的人不是很多。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-2-25 18:08:00 | 只看该作者
..LZ,这个是百度本身做了权限的控制,所以没有办法,只有讲下原理了:
RC做了同源策略(Same Origin Policy)的处理,使得在通过代理服务访问域名时,将你需要测试的域名进行了修改(如://www.google.com 在通过服务器访问时会变成http://www.google.com/selenium-server/ 以绕过同源策略),由于CORE没有,所以需要将代码放到应用服务器下。
你的代码在别的网站是应该没有问题的,百度。。。这个嘛,他们的安全测试团队可能比较强。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-2-26 10:36:17 | 只看该作者
用selenium的好像真的不多,我发了一个帖子,也没人回答,借LZ的帖子,再问一下。首先,我的case是这样的,在网页上填好数据库相关的一些信息,然后点击submit,返回的结果以XML的方式在新的一个网页里打开,也就是弹出一个XML的结果,但是selenium无法识别这个弹出的XML,如果是html,一点问题都没有,有人碰到过类似的问题吗?有什么解决的思路。谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-4-9 11:10:46 | 只看该作者

回复 8# 的帖子

多谢这位仁兄的分析,我也发现了这个问题。提示的没有权限就是因为同源策略问题。
在selenium网站上,我找到了解决方法。官网上给了两个解决方法。还是不错的。
害得我浪费了n多时间。

回复fox fox
我对selenium也不是太熟悉,慢慢学习吧。我还没有来得及看完他的代码那。
你可以看看他的代码是怎么写的,然后修改一下。或者自己封装一个函数出来,支持xml。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-9-5 09:29:32 | 只看该作者
是啊,碰到过类似的问题,我写的运行到selenium.WaitForPageToLoad("3000");后
    发现selenium remote control里一直显示: command request,然后就没反应了,我后面的代码也不运行啦
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-11-13 15:50:45 | 只看该作者
原帖由 sihanjishu 于 2008-4-9 11:10 发表
多谢这位仁兄的分析,我也发现了这个问题。提示的没有权限就是因为同源策略问题。
在selenium网站上,我找到了解决方法。官网上给了两个解决方法。还是不错的。
害得我浪费了n多时间。

回复fox fox
我对selen ...

这两种方法可否分享一下啊?谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-11-17 12:04:19 | 只看该作者

回复 12# 的帖子

其中一个应该有hta文件格式吧
我记得官方主页上有 你英语能看懂就能看到
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 03:02 , Processed in 0.082519 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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