Настройка COM-интерфейса WatiN из тестовой записи WatiN

#php #watin

#php #watin

Вопрос:

Использование PHP-кода

 $iface=new COM("WatiN.COMInterface");
$ie = $iface->CreateIE("http://www.google.com");
$ie->TextField($iface->FindByName("q"))->TypeText("watin");
$ie->Button($iface->FindByName("btnG"))->Click();
  

Из http://watintestrecord.sourceforge.net/WatiNCOM.html

Результатом является com_exception: Failed to create COM object 'WatiN.COMInterface': Invalid syntax …

Другой COM, подобный

 $word = new COM("word.application") or die("Unable to instantiate Word");
  

работает нормально.

Может кто-нибудь дать пошаговое руководство о том, как заставить WatiN работать с PHP 5.3

Ответ №1:

Похоже, вы не зарегистрировали сборку WatiNCOM для COM-взаимодействия.

Попробуйте запустить следующее из командной строки в каталоге, содержащем загруженные файлы.

 regasm WatiNCOM.dll
  

эта команда задокументирована здесь: regasm

Комментарии:

1. Спасибо за вашу помощь, когда я запускал это C:WindowsMicrosoft.NETFrameworkv2.0.50727 >RegAsm C:xampphtdocsmyStuff_TMP1WatiNWatiNCOM.dll Результатом было: Утилита регистрации сборки Microsoft (R) .NET Framework 2.0.50727.4016 Авторское право (C) корпорации Microsoft 1998-2004. Все права защищены. RegAsm: ошибка RA0000: не удалось загрузить файл или сборку ‘nunit.framework, версия = 2.4.0.2, Культура = нейтральная, PublicKeyToken=96d09a1eb7f44a77’ или одну из его зависимостей. Система не может найти указанный файл.

2. Итак, я попробовал также это C:WindowsMicrosoft.NETFrameworkv1.1.4322 >RegAsm C:xampphtdocsmyStuff_TMP 1WatiNWatiNCOM.dll Ошибка RegAsm: не удалось загрузить ‘C:xampphtdocsmyStuff_TMP1WatiNWatiNCOM.dll ‘ потому что это недопустимый . СЕТЕВАЯ сборка, что мне теперь делать?

3. @WaylonFlinn Что мне теперь делать?

4. @Itsik Похоже, вам, возможно, потребуется установить NUnit. WatiN довольно широко использует его.

5. @WaylonFlinn ты знаешь, как это сделать? У меня есть VS2008