Watir Excel не работает на виртуальной машине - PullRequest
1 голос
/ 14 октября 2010

У меня есть тест watir, который загружает некоторую информацию из веб-приложения в файл Excel, и затем я открываю файл для подтверждения содержимого.На моем устройстве dev все работает нормально, но запланированные автоматизированные запуски (через Hudson) всегда терпят неудачу при попытке открыть файл Excel.Я проверил, что правильная версия AutoITX3.dll зарегистрирована на обеих машинах (Ruby 1.8, Watir 1.6.5).Другие версии AutoITx3 не зарегистрированы ни на одном компьютере.Ошибка в окне Hudson ожидается, если dll НЕ зарегистрирован, но присутствует в regedit в том же месте, что и в моем окне dev.Обе машины WinXP.Запуск теста вручную на поле Hudson приводит к той же ошибке - неизвестный сервер OLE: код ошибки «Excel.Application» HRESULT: 0x800401f3 Неверная строка класса.

Я искал похожие ошибки и увидел один экземпляр, где выполнялсяна виртуальной машине были вызваны аналогичные проблемы, но только если окно виртуальной машины было закрыто.Я не думаю, что это ошибка кода, так как она работает на устройстве dev.Любые предложения по отладке этого?

TIA, Sabrina

Ответы [ 5 ]

1 голос
/ 22 октября 2010

Посмотрите эту статью http://support.persits.com/show.asp?code=PS01032622

В ней указаны возможные причины вашего кода ошибки.

bq.Эта ошибка означает, что либо компонент не был зарегистрирован на сервере, либо ProgID передан методу Server.CreateObject с ошибкой.В Windows 2003 и XP это также может означать проблему с правами доступа к разделу системного реестра.

Я думаю, что для вас актуален последний:

bq.В Windows 2003 и XP это также может означать проблему с правами доступа к разделу системного реестра.

Кстати, я погуглил: «0x800401f3 Неверная строка класса»и это был первый результат.

1 голос
/ 16 октября 2010

Я бы сделал еще один поиск проблемы и оставил бы Ватира вне ее. Я могу найти несколько проблем для 0x800401f3, связанных с FoxPro, Perl и Oracle.

1 голос
/ 15 октября 2010

Я считаю использование Excel антипаттерном в автоматизации тестирования. Я знаю, что многим это нравится, но если вы используете это для автоматизации, то есть более простые способы сделать это. Подумайте об использовании CSV с FasterCSV для тестов автоматизации и проверки чего-либо в управлении версиями, которое, как я предполагаю, вы используете.

ИМХО, вы должны использовать Excel только тогда, когда участвует человек - то есть вы можете выполнить серию тестов, определенных в CSV, но вы редактируете их в Excel, сохраняете обратно и затем сравниваете то, что находится в системе контроля версий, сохраняя его CSV.

Excel бесполезен для различий, поэтому он плохо хранится в исходном репо, поэтому нет причин устанавливать его на блок CI, когда CSV будет работать лучше.

Это все равно мои 2 цента. :)

Приветствия,

Чарли

0 голосов
/ 24 июня 2011

Я наконец понял это. Я думал, что работающей установкой Excel на удаленной машине была бесплатная читалка Excel , у которой нет хуков API, которые WIN32OLE ищет в реестре. Установил полную программу Excel и теперь все работает. Я знал, что Вселенная будет последовательной!

0 голосов
/ 19 октября 2010

Что вы пытаетесь проверить?

  1. Этот пользователь может открыть загруженный файл в Excel?Как вы проверяете это автоматически?С скриншота?
  2. Или что-то в файле есть?В этом случае я бы проверил содержимое файла с помощью чего-то вроде roo .
...