"无法调用方法'indexOf'未定义的”使用 Google Chrome (*googlechrome) 作为 Selenium RC 目标时

发布于 2024-10-17 08:53:07 字数 885 浏览 6 评论 0 原文

我正在尝试使用 Selenium Grid 在 Google Chrome 9.0.597.98 beta 中运行测试。我使用 Selenium Grid 附带的默认 *googlechrome 目标从 C# 启动测试。当我尝试打开网站时,遇到“无法调用未定义的方法'indexOf'”错误。

我发现有人发了一篇帖子,建议解决方案是通过传入一些参数来稍微降低 Chrome 的安全性。 这篇文章建议使用如下内容:

DefaultSelenium selenium = new DefaultSelenium(位置、端口、浏览器、targetPath);

BrowserConfigurationOptions bco = new BrowserConfigurationOptions();

selenium.start(bco.setCommandLineFlags("--disable- web-security"));

由于某种原因,我在任何地方都看不到 BrowserConfigurationOptions这是 Selenium dll 附带的东西吗?它是否在 .NET 版本中不可用,但在其他版本中可用?我需要什么选项来设置这个“--disable-web-security”选项,是否有更好的方法来做到这一点?

在此处输入图像描述

I'm trying to run a test in Google Chrome 9.0.597.98 beta using Selenium Grid. I'm firing the test off from C# using the default *googlechrome target that ships with Selenium Grid. When I try to open a site, I'm greeted with a "Cannot call method 'indexOf' of undefined" error.

I've found a post from someone who suggests that the solution is to drop security on Chrome a bit by passing in some parameters. This post suggest using something like this:


DefaultSelenium selenium = new DefaultSelenium(location, port, browser, targetPath);

BrowserConfigurationOptions bco = new BrowserConfigurationOptions();

selenium.start(bco.setCommandLineFlags("--disable-web-security"));

For some reason I don't see the BrowserConfigurationOptions anywhere. Is this something that ships with the Selenium dll? Is it something that's not available in the .NET version, but is in others? What options do I have to setting this "--disable-web-security" option and is there a better way of doing this?

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

亽野灬性zι浪 2024-10-24 08:53:07

尝试删除 /

[TestInitialize]

public void PreTest()
{
 selenium = new    DefaultSelenium("localhost",4444,"googlechrome","http://www.ryanhayes.net")
}


[TestMethod]

public void TestRyanHayesDotNet()
{
selenium.Open("/")

}

在 ryanhayes.net 修复问题后

Try this

[TestInitialize]

public void PreTest()
{
 selenium = new    DefaultSelenium("localhost",4444,"googlechrome","http://www.ryanhayes.net")
}


[TestMethod]

public void TestRyanHayesDotNet()
{
selenium.Open("/")

}

removing the / after the ryanhayes.net fixes the problem

时常饿 2024-10-24 08:53:07

非常感谢,我正在查找此信息,我在这里找到了它!
现在我可以在 googlechrome 中运行我的测试,早些时候我遇到了同样的问题。

以下代码对我有用:

BrowserConfigurationOptions webSec = new BrowserConfigurationOptions();
selenium.start(webSec.setCommandLineFlags("--disable-web-security"));

Thanks a lot for this, I was looking this information and I got it here!
Now I'm able to run my test in googlechrome, earlier I was getting the same problem.

Following code is working for me:

BrowserConfigurationOptions webSec = new BrowserConfigurationOptions();
selenium.start(webSec.setCommandLineFlags("--disable-web-security"));
时光瘦了 2024-10-24 08:53:07

您假设 .Net 没有 BrowserConfigurationOptions 对象是正确的,但幸运的是您不需要它(它只是一个薄包装)。 DefaultSelenium 对 Start() 方法有两个重写。其中一个不带任何参数并正常启动浏览器,但另一个带指定浏览器选项的字符串。尝试selenium.Start("--disable-web-security")

You're correct in assuming .Net doesn't have BrowserConfigurationOptions object, but fortunately you don't need it (it's only a thin wrapper). DefaultSelenium has two overrides for the Start() method. One of them takes no parameters and starts the browser normally, but the other takes a string specifying browser options. try selenium.Start("--disable-web-security")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文