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

Фотография

Не могу запустить ни один тест!


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

#1 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 30 января 2013 - 20:32

Использую Selenium IDE для создания тестов. Потом экспортирую как класс C#. Создаю библиотеку классов, чтобы потом использовать её в NUnit. Всё делаю по инструкции с других сайтов. Но тесты не проходят. NUnit пишет, что ссылка на объект не указывает на экземпляр объекта. Попробовал даже использовать не свои тесты, а тест из этой (http://www.software-...p?/topic/22968/) темы из 2-го поста, там тест просто открывает страницу, у меня всё равно не запускается и пишет то же самое. Я даже создал этот тест в виде консольного приложения и пошагово его проверил. На момента создания объекта

IWebDriver driver = new FirefoxDriver();

у меня вылетает ошибка, что нет какого то FirefoxDriver.cs. Бред какой то. Что делать? Ни один тест не хочет запускаться вообще!
  • 0

#2 Julia_Sh

Julia_Sh

    Новый участник

  • Members
  • Pip
  • 63 сообщений
  • ФИО:Юлия
  • Город:Новосибирск

Отправлено 31 января 2013 - 02:45

у меня вылетает ошибка, что нет какого то FirefoxDriver.cs. Бред какой то. Что делать? Ни один тест не хочет запускаться вообще!

А вы все библиотеки подключили, необходимые для корректного запуска?
  • 0

#3 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 31 января 2013 - 05:46

Использую Selenium IDE для создания тестов. Потом экспортирую как класс C#. Создаю библиотеку классов, чтобы потом использовать её в NUnit. Всё делаю по инструкции с других сайтов. Но тесты не проходят. NUnit пишет, что ссылка на объект не указывает на экземпляр объекта. Попробовал даже использовать не свои тесты, а тест из этой (http://www.software-...p?/topic/22968/) темы из 2-го поста, там тест просто открывает страницу, у меня всё равно не запускается и пишет то же самое. Я даже создал этот тест в виде консольного приложения и пошагово его проверил. На момента создания объекта

IWebDriver driver = new FirefoxDriver();

у меня вылетает ошибка, что нет какого то FirefoxDriver.cs. Бред какой то. Что делать? Ни один тест не хочет запускаться вообще!


Код в студию.
  • 0
ap-test-team.blogspot.com

#4 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 31 января 2013 - 10:59

ЗАметил, что во всех туториалах нужно ещё подключать библиотеки:
Ionic.Zip.dll
Newtonsoft.Json.dll
nmock.dll

Вот у меня их нету в скачанных папках NUnit и Selenium WebDriver. И где их достать тогда, если их нет на официальных сайтах?
  • 0

#5 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 31 января 2013 - 11:01

ЗАметил, что во всех туториалах нужно ещё подключать библиотеки:
Ionic.Zip.dll
Newtonsoft.Json.dll
nmock.dll

Вот у меня их нету в скачанных папках NUnit и Selenium WebDriver. И где их достать тогда, если их нет на официальных сайтах?



Вы пользуетесь Visual Studio?
  • 0
ap-test-team.blogspot.com

#6 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 31 января 2013 - 11:33

Да, VS2012
  • 0

#7 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 31 января 2013 - 11:43

Да, VS2012


Отлично! Используйте nuget для установки webdriver (http://www.nuget.org...enium.WebDriver). Все нужные пакеты установятся самостоятельно.

Для nunit тоже самое http://www.nuget.org/packages/NUnit/
  • 0
ap-test-team.blogspot.com

#8 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 31 января 2013 - 12:01


Да, VS2012


Отлично! Используйте nuget для установки webdriver (http://www.nuget.org...enium.WebDriver). Все нужные пакеты установятся самостоятельно.

Для nunit тоже самое http://www.nuget.org/packages/NUnit/


К сожалению опять нет, всё равно та же самая ошибка:

Прикрепленные файлы


  • 0

#9 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 31 января 2013 - 12:03

Жесть какая то, что у меня не так то? :bad:
  • 0

#10 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 31 января 2013 - 12:21

Жесть какая то, что у меня не так то? :bad:/>


давайте уже ваш код.
  • 0
ap-test-team.blogspot.com

#11 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 31 января 2013 - 12:47

using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;

namespace SeleniumTests
{
[TestFixture]
public class Test1
{
private IWebDriver driver;
private StringBuilder verificationErrors;
private string baseURL;
private bool acceptNextAlert = true;

[SetUp]
public void SetupTest()
{
driver = new FirefoxDriver();
baseURL = "http://isokor.pinstudio.ru/";
verificationErrors = new StringBuilder();
}

[TearDown]
public void TeardownTest()
{
try
{
driver.Quit();
}
catch (Exception)
{
// Ignore errors if unable to close the browser
}
Assert.AreEqual("", verificationErrors.ToString());
}

[Test]
public void The1Test()
{
driver.Navigate().GoToUrl(baseURL + "/");
driver.FindElement(By.LinkText("Главная")).Click();
driver.FindElement(By.LinkText("Каталог продукции")).Click();
driver.FindElement(By.LinkText("Партнёры")).Click();
driver.FindElement(By.LinkText("Контакты")).Click();
driver.FindElement(By.LinkText("АО \"DOMECHT\"")).Click();
}
private bool IsElementPresent(By by)
{
try
{
driver.FindElement(by);
return true;
}
catch (NoSuchElementException)
{
return false;
}
}

private string CloseAlertAndGetItsText() {
try {
IAlert alert = driver.SwitchTo().Alert();
if (acceptNextAlert) {
alert.Accept();
} else {
alert.Dismiss();
}
return alert.Text;
} finally {
acceptNextAlert = true;
}
}
}
}


Но в коде нету смысла, даже если просто написать одну единственную строку

IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://ya.ru");

всё равно ничего не работает и пищет эту ошибку
  • 0

#12 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 31 января 2013 - 13:35

А знаете что, дело сдвинулось с мёртвой точки. Я решил использовать ChromeDriver вместо FirefoxDriver. Мне выдало ошибку, что мол нету драйвера для хрома. Я скачал, кинул в папку и запустил вот этот код:

try
{
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://isokor.pinstudio.ru/");
}
catch (Exception exp)
{
Console.WriteLine(exp.ToString());
}

Console.ReadKey();

и боже мой, открылся хром и открыл этот сайт! Теперь вопрос, почему то же не работает с фаерфоксом??
  • 0

#13 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 31 января 2013 - 13:42

А знаете что, дело сдвинулось с мёртвой точки. Я решил использовать ChromeDriver вместо FirefoxDriver. Мне выдало ошибку, что мол нету драйвера для хрома. Я скачал, кинул в папку и запустил вот этот код:

try
{
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://isokor.pinstudio.ru/");
}
catch (Exception exp)
{
Console.WriteLine(exp.ToString());
}

Console.ReadKey();

и боже мой, открылся хром и открыл этот сайт! Теперь вопрос, почему то же не работает с фаерфоксом??



Простите сразу не заметил.
Все дело в ошибке "Failed to start up socket within 45000". Как ее лечить сразу не могу сказать, но вы можете поискать в интернете.

Одно из решений: http://software-test...?//topic/22470/

Сообщение отредактировал achumagin: 31 января 2013 - 13:46

  • 0
ap-test-team.blogspot.com

#14 BJladu4

BJladu4

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Иванов В.В.

Отправлено 31 января 2013 - 20:05

Про***лся с этой проблемой аж до сейчас) И ничего. Ничего не помогло. Много где было написано, что нужно поставить себе мозилу старую. Ну я ставил и 14, и 5, и 3, и даже 0.8. Ничего. Я уже не знаю что делать с этой проблемой :crazy:
  • 0

#15 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 01 февраля 2013 - 06:36

Про***лся с этой проблемой аж до сейчас) И ничего. Ничего не помогло. Много где было написано, что нужно поставить себе мозилу старую. Ну я ставил и 14, и 5, и 3, и даже 0.8. Ничего. Я уже не знаю что делать с этой проблемой :crazy:/>


А это пробовали? (хотя это уже из мира фантастики)
http://smartresponde...A004DM96634368c
  • 0
ap-test-team.blogspot.com

#16 owasp

owasp

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

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

Отправлено 18 апреля 2013 - 09:07

Столкнулся с такой же ошибкой.
WebDriver 2.32.0, Firefox 19.0, 20.0, 20.0.1.

SetUp : OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000 ms

Со стеком:
at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.ConnectToBrowser(TimeSpan timeToWait) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\Internal\ExtensionConnection.cs:line 266
at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start() in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\Internal\ExtensionConnection.cs:line 98
at OpenQA.Selenium.Firefox.FirefoxDriver.StartClient() in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\FirefoxDriver.cs:line 225
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:line 88
at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\FirefoxDriver.cs:line 162
...
Никак не исправляется. Возникает на серверной ОС.
Наблюдается только на одной машине с Windows Server 2008.
На Windows 7 всё как надо работает.

Дополнительно к ней есть проблема - расширение WebDriver загружается как отключенное.
В резульатете при старте браузера настройки не применяются и браузер ведёт себя как при первом запуске.
Эта дополнительная проблема описана на StackOverflow: http://stackoverflow...n-browser-start
Как побороть отключенность плагина после загрузки - нашел.
В тесте использовал установлку следующей настройки:
firefoxProfile.SetPreference("browser.download.dir", System.Environment.CurrentDirectory);
Если её использовать, то после старта - расширения браузера не включаются. Если её не использовать, то расширение загружается корректно.
Таким образом, некоторые пользовательскиенастройки могут помешать работе.

Но основная проблема - Failed to start up socket within 45000 ms, пока не решилась.
В похожих темах решения пока тоже не нашел: https://groups.google.com/forum/?fromgroups#!search/Failed$20to$20start$20up$20socket$20within
Пробовал использовать решения:
1. Увеличить время ожидания (сделать больше 45 секунд)
FirefoxBinary firefoxBin = new FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
firefoxBin.Timeout = TimeSpan.FromSeconds(120.0);
2. Переустановить Firefox, почистить профили.
3. Сменить порт
var firefoxProfile = new FirefoxProfile();
firefoxProfile.Port = 40000;
4. Обновить WebDriver (и так последняя версия)
5. Перезагрузить виртуалку.
...

update:
Решил проблему. Но не локализовал решение, сказать что именно сыграло решающую роль - сложно.
  • 0


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

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