Не удается вызвать метод indexOf неопределенного значения при использовании Google Chrome (*googlechrome) в качестве цели Selenium RC.

Я пытаюсь запустить тест в бета-версии Google Chrome 9.0.597.98, используя Selenium Grid. Я запускаю тест с C#, используя цель *googlechrome по умолчанию, которая поставляется с Selenium Grid. Когда я пытаюсь открыть сайт, меня встречает ошибка "Не удается вызвать метод indexOf неопределенного".

Я нашел сообщение от человека, который предполагает, что решение состоит в том, чтобы немного снизить безопасность в Chrome, передав некоторые параметры. В этом сообщении предлагается использовать что-то вроде этого:

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

BrowserConfigurationOptions bco = new BrowserConfigurationOptions();

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

Почему-то я нигде не вижу BrowserConfigurationOptions. Это что-то, что поставляется с DLL Selenium? Это что-то, чего нет в версии .NET, но есть в других? Какие параметры у меня есть для установки этого параметра «--disable-web-security» и есть ли лучший способ сделать это?

введите здесь описание изображения


person Ryan Hayes    schedule 13.02.2011    source источник


Ответы (3)


Попробуй это

[TestInitialize]

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


[TestMethod]

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

}

удаление / после того, как ryanhayes.net решит проблему

person retornam    schedule 17.02.2011

Большое спасибо за это, я искал эту информацию, и я нашел ее здесь! Теперь я могу запустить свой тест в Google Chrome, раньше у меня была такая же проблема.

Следующий код работает для меня:

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

Вы правы, предполагая, что в .Net нет объекта BrowserConfigurationOptions, но, к счастью, он вам не нужен (это всего лишь тонкая оболочка). DefaultSelenium имеет два переопределения метода Start(). Один из них не принимает параметров и запускает браузер в обычном режиме, а другой принимает строку, указывающую параметры браузера. попробуй selenium.Start("--disable-web-security")

person pnewhook    schedule 14.02.2011
comment
Не похоже, что для меня есть перегрузка для Пуска. Я использую версию 1.1.4322 ThoughtWorks.Selenium.Core.dll. Есть ли другой, который мне нужен где-то, который содержит перегрузку? - person Ryan Hayes; 14.02.2011
comment
Нашел. Первоначально я загрузил версию Selenium RC, в которой был только .Start(). Я только что получил версию Selenium WebDriver, которая содержит обновленную Thoughtworks.Selenium.Core.dll. Я добавил параметр отключения веб-безопасности, но все равно получаю то же сообщение об ошибке. Должно быть что-то еще. :-/ - person Ryan Hayes; 14.02.2011
comment
В C# DefaultSelenium, а не в ISelenium, есть перегрузка Start with options. Тем не менее, это не работает, как рекламируется. Я могу избежать появления сообщения об ошибке, убедившись, что вся моя работа выполняется в одном домене. В вашем примере все будет в ryanhayes.net - person Precipitous; 20.10.2011