Произошло необработанное исключение типа 'WatiN.Core.Exceptions.RunScriptException' в WatiN.Core.dll

Произошло необработанное исключение типа 'WatiN.Core.Exceptions.RunScriptException' в WatiN.Core.dll Дополнительная информация: RunScript не удалось.... Кто-нибудь может дать решение этой ошибки???

browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");            
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();

я получаю вышеуказанную ошибку, когда отладчик достигает события typetext... кто-нибудь может мне помочь, пожалуйста???

2 ответа

Решение

Я использую неверную версию Internet Explorer...watin поддерживает только IE 6,7 и 8 версию... теперь я использую Firefox версии 2.0 ... и версия до 3.6 поддерживается в watin... Вот почему дает ошибку в watin.core.dll... Остальной код такой же.... в любом случае Спасибо за помощь, приятель!:)

Хорошо, после вашего редактирования это имеет больше смысла. Код, который вы разместили, кажется, весь ваш код. Между этой строкой:

browser.GoTo("http://www.errajatsharma.com/invoice/");

и это линии

browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");

browser.TextField(Find.ByName("пароль")) TypeText("98983662634").

программе нужно подождать, пока страница загрузится (подумайте об этом, для загрузки этой веб-страницы может потребоваться 4 секунды, 1 секунда, 2 минуты и т. д.), чтобы это ожидание (независимо от времени) watin имеет следующий код:

browser.WaitForComplete();

Таким образом, добавив эту строку кода между:

browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();                                                                                  
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();

Если это ваша проблема, вы должны быть в состоянии войти в систему сейчас с этими учетными данными (я только что попробовал, но эти учетные данные не являются реальными, поэтому вам нужно заменить их вашими реальными данными для входа).

РЕДАКТИРОВАТЬ:

Попробуй это:

browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();                                                                                  
TextField email = browser.TextField(Find.ByName("email"));
if(email.Exists){
  email.TypeText("wolverine.rajat@gmail.com");
}else{
  MessageBox.Show("Can't find email textbox");
}

если вы по-прежнему получаете сообщение "Не удается найти текстовое поле электронной почты", значит, адрес электронной почты отсутствует на этой странице. Вы также можете попробовать

email.Value = "Something@something.com";

РЕДАКТИРОВАТЬ 2:

Я только что запустил этот код:

browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();              browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");               browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Button(Find.ByName("submit")).Click();

И запускался как ожидалось (единственное отличие в том, что вы нажимали на DIV (с именем submit) вместо кнопки (также называемой submit) внутри DIV). Если это не помогло, у вас возникла другая проблема (попробуйте более новую версию IE и т. Д.)

Другие вопросы по тегам