Перейти к содержимому

Фотография

Ошибка Permission denied в ИЕ


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 15

#1 Biasha

Biasha

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:СПб

Отправлено 08 октября 2008 - 11:33

Коллеги, подскажите такую вещь:
запускаю тест через эклипс (RC) для ИЕ(6), при выполнении команды waitForPageToLoad выкидывает ошибку

com.thoughtworks.selenium.SeleniumException: Permission denied
at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:90)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:84)
at com.thoughtworks.selenium.DefaultSelenium.waitForPageToLoad(DefaultSelenium.java:619)
at SimpTest.testGoogle(SimpTest.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

При работе того же самого теста в мозилле такой ошибки не возникает (там свои заморочки =))).

Посмотрела в настройках ИЕ, прокси вроде не указана.

С чем это связано и как это лечить?
  • 0
Молодой пожарный не боится пламя!

#2 Biasha

Biasha

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:СПб

Отправлено 08 октября 2008 - 11:44

Вышеописанное исключение валится если указыать браузер как *iexplore.
Если указать *firefox. то исключение немного иное - вот такое:

com.thoughtworks.selenium.SeleniumException: Permission denied to get property Location.href

А если написать *chrome, то никакого исключения нет.

Вот такая мистика.
  • 0
Молодой пожарный не боится пламя!

#3 NLord

NLord

    Активный участник

  • Members
  • PipPip
  • 108 сообщений

Отправлено 08 октября 2008 - 12:08

Вышеописанное исключение валится если указыать браузер как *iexplore.
Если указать *firefox. то исключение немного иное - вот такое:

com.thoughtworks.selenium.SeleniumException: Permission denied to get property Location.href

А если написать *chrome, то никакого исключения нет.

Вот такая мистика.


У меня что-то подобное бывает если одновременно с запущеным тестом работать на машине. Если запустить и уйти пить чай, то обычно исчезает.
  • 0
"Меня терзают смутные сомненья..." что это работает.

#4 popo_kid

popo_kid

    Активный участник

  • Members
  • PipPip
  • 79 сообщений

Отправлено 08 октября 2008 - 12:33

А домен при создании Browser и при вызове Open один и тот же?
посмотрите еще RC Tutorial раздел The Same Origin Policy, по-моему это ваш случай


Библиотека программиста
  • 0

#5 popo_kid

popo_kid

    Активный участник

  • Members
  • PipPip
  • 79 сообщений

Отправлено 08 октября 2008 - 12:52

похоже я был прав у вас указаны разные домены:
написал такое приложение на с#, обратите внимание что домены разные, получаю такие же ошибки как и вы

using System;
using System.Collections.Generic;
using System.Text;
using Selenium;

namespace ConsoleApplication2
{
	class Program
	{
		static void Main(string[] args)
		{
			try
			{
				DefaultSelenium sel = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.ya.ru");
				sel.Start();
				sel.Open("http://www.google.ru");
				sel.WaitForPageToLoad("30000");
			}
			catch (Exception e)
			{
				Console.WriteLine(e.Message);
			}
			finally
			{
				Console.ReadKey();
			}
		}
	}
}

Библиотека программиста
  • 0

#6 the_norn

the_norn

    Активный участник

  • Members
  • PipPip
  • 91 сообщений
  • ФИО:Kononov Roman

Отправлено 09 октября 2008 - 06:11

Кстати ограничения на работу жаваскрипта относяться не только к разным доменам, но и например при попытке закачать файл при помощи селениума вы тоже увидите подобный эксепшн
  • 0

#7 Biasha

Biasha

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:СПб

Отправлено 09 октября 2008 - 07:54

Домены одинаковые. С файлами никакой работы не ведется.
И даже если домены разные (один абсолютный, типа http://demo.anycompa...pplication.aspx а другой относительный, типа /Folder/application.aspx) то ошибки те же.

И остается непонятным, почему *chrome не выдает такой ошибки.
  • 0
Молодой пожарный не боится пламя!

#8 popo_kid

popo_kid

    Активный участник

  • Members
  • PipPip
  • 79 сообщений

Отправлено 09 октября 2008 - 08:03

И остается непонятным, почему *chrome не выдает такой ошибки.

а ссылку на туториал читали? там же как раз указано, что специальные экспериментальные браузеры, например *chrome, дают для js большие права нежели стандартные браузеры
  • 0

#9 Biasha

Biasha

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:СПб

Отправлено 09 октября 2008 - 08:31

Может быть ошибка выдается из-за того, что на странице в режиме реального времени обновляются данные и селениум-сервер как-то ограничивает это? Потому что страница логина открывается нормально, юзер авторизуется, а потом на странице со стримингом - бац, и эксепшен.
  • 0
Молодой пожарный не боится пламя!

#10 popo_kid

popo_kid

    Активный участник

  • Members
  • PipPip
  • 79 сообщений

Отправлено 09 октября 2008 - 09:37

вы сервер с multiwindow запускаете или без?
  • 0

#11 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 14 октября 2008 - 11:18

Лучше всего запускать сервер в multiWindow и браузеры в режимах chrome (для FF) и iehta (для IE). В остальном на 99% ошибка возникает из-за Same Origin Policy, почитай про него, там не только о доменах говорится.
  • 0

#12 Biasha

Biasha

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:СПб

Отправлено 15 октября 2008 - 09:31

Да, запускаю в multiwindow. Но это ничего не меняет в permission denied.
В режиме chrome работает на ура.
  • 0
Молодой пожарный не боится пламя!

#13 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 15 октября 2008 - 09:45

Да, запускаю в multiwindow. Но это ничего не меняет в permission denied.
В режиме chrome работает на ура.

Если ты покажешь свой tcpdump во время выполнения теста, то можно будет точно сказать в чём причина, а так можно только гадать. Но опять же, читай про Same Origin Policy это 99% из-за него.
Кстати, а зачем тебе режим *firefox и *iexplore?
  • 0

#14 Biasha

Biasha

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:СПб

Отправлено 23 октября 2008 - 07:46

Спасибо всем зо ответы.
На самом деле я не знаю, чем принципиально отличаются *chrome и *iehta от соответственно *firefox и *iexplore кроме как тем, что в них больше прав для джаваскрипта, из-за чего все работает. Существуют ли еще какие-то ключевые отличия? И, если их нет, то зачем вообще использовать *firefox и *iexplore?

TCPdump скачала но пока не разобиралась как использовать :smile:
  • 0
Молодой пожарный не боится пламя!

#15 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 23 октября 2008 - 08:40

Спасибо всем зо ответы.
На самом деле я не знаю, чем принципиально отличаются *chrome и *iehta от соответственно *firefox и *iexplore кроме как тем, что в них больше прав для джаваскрипта, из-за чего все работает. Существуют ли еще какие-то ключевые отличия? И, если их нет, то зачем вообще использовать *firefox и *iexplore?

Я пока не сталкивался с различиями кроме прав для JavaScript, но они наверняка есть, надо повнимательнее изучить этот вопрос. Конкретно твоя ошибка возникает внутри JavaScript'ового Selenium Core и говорит о том, что JS'у было отказано в обращении к конкретному элементу, а здесь, насколько знаю, ничего кроме Same Origin Policy быть не может.
Тестируемый сервис доступен извне? Если да, то покажи тест и дай ссылку на сервис.

TCPdump скачала но пока не разобиралась как использовать :smile:

Лучше и удобнее, думаю, использовать для этих целей WireShark.
  • 0

#16 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 23 октября 2008 - 11:32

Спасибо всем зо ответы.
На самом деле я не знаю, чем принципиально отличаются *chrome и *iehta от соответственно *firefox и *iexplore кроме как тем, что в них больше прав для джаваскрипта, из-за чего все работает. Существуют ли еще какие-то ключевые отличия? И, если их нет, то зачем вообще использовать *firefox и *iexplore?

Разница в том, что *chrome и *iehta пока ещё считаются experimental, а *firefox и *iexplore -- stable.
Но через какое-то время действительно свершится полный переход.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных